有一個int數組,我對那些從索引10開始的數組感興趣。因此,我正在編寫一個方法,它將返回一個由11個和更多元素組成的新數組。 我試過Array.Copy,但它沒有我需要的選項。最好的辦法是什麼?返回數組的一部分(來自索引)的有效方法?
0
A
回答
1
您可以使用ArraySegment
var source = new int[20];
var segment = new ArraySegment<int>(source, 10, source.Length - 10);
這是輕量級的結構,因此你可以在上面使用LINQ它實現了一個IEnumerable<T>
接口。
編輯:如果你真的需要一個數組作爲返回類型,你可以創建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
感謝德米特里,指定的方法代碼已在最新的解決方案。 –
相關問題
- 1. 索引返回數組的最有效方法?
- 2. 在JavaScript中,如何通過引用從方法返回數組的一部分?
- 3. R:部分字符串匹配的返回數組索引
- 4. Atkin的篩子返回數組...帶有無效索引 - Java
- 5. 索引數組的一部分
- 6. 返回數組引用的方法
- 7. 訪問由__get返回的數組的索引()魔術方法
- 8. 最有效的方法來搜索一個值並返回其向量中的索引?
- 9. 從Numpy數組的索引採樣的有效方法?
- 10. 如何使用方法返回數組元素的索引?
- 11. 有效的方法來記住兩個大型數組的索引
- 12. 更有效的方法來搜索JavaScript對象的數組?
- 13. 返回索引從JSON返回數組
- 14. 如何返回至少4D的數組:有效的方法來模擬numpy.atleast_4d
- 15. 的Oracle SQL:最有效的方法來計算分組數據
- 16. 方法「部分」返回
- 17. 返回數組的方法
- 18. 有沒有辦法在MongoDB的文檔中返回數組的一部分?
- 19. 獲取索引映射數組的子數組的有效方法
- 20. 數組檢測方法 - 返回特定子數組索引的值?
- 21. 有效的方法來每天分組第二個數據?
- 22. 有效的方法來分析表數組對象在IE
- 23. 如何返回Object數組的索引?
- 24. 返回索引和數組中的值
- 25. 如何返回numpy數組的索引?
- 26. 想NSArray的valueForKey返回數組索引
- 27. 創建一個方法來搜索數組索引重複值
- 28. 有效的方法來查找ArrayList中的對象索引
- 29. 查找行索引的有效方法?
- 30. 是返回*數組;有效?
陣列是' IEnumerable'所以使用'Skip()'和'Take()'。 – Crowcoder