intの配列があり、インデックス10から始まる配列に興味があります。したがって、11番目以降の要素からなる新しい配列を返すメソッドを作成しています。 Array.Copyを試しましたが、必要なオプションがありません。これにはどのような方法が最適でしょうか?効率的な配列の一部を返す方法(インデックスから)?
0
A
答えて
1
あなたは、これは、軽量構造体であり、あなたがそれにLINQを使用することができますので、それはIEnumerable<T>
インタフェースを実装ArraySegment
var source = new int[20];
var segment = new ArraySegment<int>(source, 10, source.Length - 10);
を使用することができます。
EDIT:場合は、あなたが本当にあなたがLINQを使用して新しい配列を作成することができ、戻り値の型として配列を必要とする:
source.Skip(9).ToArray(); // skip from 0 to 9 and use a rest of source array
しかし、これは、配列のコピーのために追加のメモリを割り当てます
0
public static T[] SubArray<T>(this T[] data, int index, int length)
{
T[] result = new T[length];
Array.Copy(data, index, result, 0, length);
return result;
}
int startIndex=10;
int[] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int[] sub = data.SubArray(startIndex, (data.Length-startIndex)-1));
+0
このようなメソッドはありません: 'SubArray'。 – Dmitry
+0
ありがとうDmitry、指定されたメソッドのコードが更新されました。 –
関連する問題
- 1. インデックスの効率的な検索方法
- 2. 他の配列で効率的にインデックスを付ける配列
- 3. 効率的なpython配列からnumpy配列への変換
- 4. OpenCV効率的な方法でucharの配列からシーケンスを作成する
- 5. JSオブジェクトの配列対JSオブジェクトの効率的で効率的な配列
- 6. 配列から項目を削除する最も効率的な方法は?
- 7. pd.DataFrameからカラムラベルのインデックスを取得する効率的な方法
- 8. より効率的な2つの配列のマージ方法
- 9. numpyを使用した効率的な配列変換方法
- 10. 効率的な配列のループ
- 11. JavaScriptの配列を効率的にフィルタリングする方法
- 12. すべての可能な配列インデックスの位置を効率的に取得
- 13. 一時的なユーザーデータを効率的に保存する方法
- 14. Accumulo:効率的なクエリのためのデータのインデックス方法
- 15. Matlabの:行列の行と列のインデックスの効率的なマッチング
- 16. 効率的な方法は
- 17. は、効率的な方法
- 18. 効率的な方法
- 19. 効率的な方法は
- 20. 効率的な方法
- 21. 効率的な方法
- 22. 効率的な方法が
- 23. 効率的な方法(パイソン)
- 24. 効率的な方法
- 25. 効率的な方法
- 26. パンダ - 効率的な方法ですか?
- 27. 一連の逆転で配列をソートする最も効率的な方法は何ですか?
- 28. 現在の変更の一部から新しいパッチを作成する効率的な方法
- 29. 文字列から一般的なパターンを効率的に削除する
- 30. Javaで一時的なint配列を返す方法
アレイは 'ですIEnumerable'は 'Skip()'と 'Take()'を使います。 – Crowcoder