使用索引C#返回Array的子​​集

时间:2011-03-07 02:59:25

标签: c# arrays generics subset

给定fromIndex和toIndex返回C#数组子集的最佳方法是什么?

显然我可以使用循环,但还有其他方法吗?

这是我希望填写的方法签名。

public static FixedSizeList<T> FromExisting(FixedSizeList<T> fixedSizeList, Int32 fromIndex, Int32 toIndex)

FixedSizeList内部实现

private T[] _Array;
this._Array = new T[size];

3 个答案:

答案 0 :(得分:9)

myArray.Skip(fromIndex).Take(toIndex - fromIndex + 1);

编辑: Skip和Take的结果是IEnumerable,计数将为零,直到你实际使用它为止。

如果你尝试

        int[] myArray = {1, 2, 3, 4, 5};
        int[] subset = myArray.Skip(2).Take(2).ToArray();

子集将是{3,4}

答案 1 :(得分:3)

列表已经有一个CopyTo方法可以做你想要的。

http://msdn.microsoft.com/en-us/library/3eb2b9x8.aspx

这是该方法的签名:

public void CopyTo( int index, T[] array, int arrayIndex,   int count )

答案 2 :(得分:3)

Array.Copy将执行what you want