【发布时间】:2017-04-19 08:35:43
【问题描述】:
从给定范围拆分数组的 C# 代码是什么。 例如:
int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
我想将arr 拆分为两个数组。一个从第 0 到第 5 个索引,另一个从第 6 到第 20 个索引。
在 Java 中,Arrays.copyOfRange() 可用于此过程。这个 C# 代码是什么?
【问题讨论】:
-
arr.Take(5).ToArray()和arr.Skip(5).ToArray() -
因为这是重复的,我已经在那里回答了:stackoverflow.com/a/43491049/284240 通常
Array.Copy比枚举数组更有效,直到您位于给定索引处并使用ToArray创建一个新数组。对于小型阵列,这是微优化。但是由于丑陋的Array.Copy隐藏在扩展方法中,因此您无需关心可读代码。