3

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

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

这是我要填写的方法签名。

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

FixedSizeList 内部实现是

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

3 回答 3

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}

于 2011-03-07T03:01:11.133 回答
3

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

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

这是方法的签名:

public void CopyTo( int index, T[] array, int arrayIndex,   int count )
于 2011-03-07T03:03:24.643 回答
3

Array.Copy会做你想做的。

于 2011-03-07T03:05:18.590 回答