猿问

从现有数组中获取子数组。

从现有数组中获取子数组。

我有一个由10个元素组成的数组X。我想要创建一个新的数组,其中包含从索引3开始到索引7结尾的所有元素。当然,我可以很容易地为我编写一个循环,但是我希望尽可能保持代码的整洁。在C#中是否有一种方法可以为我做到这一点?

类似于(伪代码):

Array NewArray = oldArray.createNewArrayFromRange(int BeginIndex , int EndIndex)

Array.Copy不符合我的需要..我需要新数组中的项目是克隆的。Array.copy只是C型memcpy等价物,这不是我要找的。


犯罪嫌疑人X
浏览 1362回答 3
3回答

FFIVE

你可以用Array.Copy(...)在创建新数组之后复制到新数组,但我认为没有创建新数组的方法和复制一系列元素。如果您使用的是.NET 3.5能使用LINQ:var newArray = array.Skip(3).Take(5).ToArray();但这样做的效率会有所下降。看见这个答案对于更具体情况下的选择也有类似的问题。
随时随地看视频慕课网APP
我要回答