Вернуть подмножество Array, используя индекс C # - PullRequest
3 голосов
/ 07 марта 2011

Каков наилучший способ вернуть подмножество массива C #, заданного fromIndex и toIndex?

Очевидно, я могу использовать цикл, но есть ли другие подходы?

Это подпись метода, которую я хочу заполнить.

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

Внутренняя реализация FixedSizeList -

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

Ответы [ 3 ]

9 голосов
/ 07 марта 2011
myArray.Skip(fromIndex).Take(toIndex - fromIndex + 1);

РЕДАКТИРОВАТЬ: Результатом Skip и Take являются IEnumerable, и счет будет нулевым, пока вы его фактически не используете.3, 4}

3 голосов
/ 07 марта 2011

Array.Copy сделает что вы хотите .

3 голосов
/ 07 марта 2011

Список Уже есть метод CopyTo, который должен делать то, что вы хотите.

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

Это подпись метода:

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