回答
你可以嘗試這樣的事:
var array = Enumerable.Range(0,100).Select(n=>new List<object>(500)).ToArray();
這裏我們使用List<T>
構造一個參數,該列表的能力。請看看here。
可以工作,但是'ToArray'不知道它總是有100個元素,所以你會創建一堆基於默認*不必要的間歇性數組,一旦達到限制*啓發式就啓動小和兩倍大小。 – MarcinJuraszek
@MarcinJuraszek好趕上!我可能認爲它有點快...感謝您的評論。 – Christos
這解決了我的情況。非常感謝! – Manngo
舊風格的循環將這樣的伎倆:
List<object>[] myList= new List<object>[100];
for(int i = 0; i < 100; i++)
{
myList[i] = new List<object>(500);
}
謝謝!對於像我這樣的人來說這是一個更容易理解的解決方案我實際上在for中用.capacity = 500嘗試了同樣的事情。它沒有工作... – Manngo
你不是構建實際的名單,只是用於存儲它們的引用分配空間。您只能在構建列表對象時設置容量。
你可以換另一個類的陣列和懶洋洋地構建列爲他們需要:
class ListArray {
private readonly List<object>[] _lists;
private readonly int _capacity;
public ListArray(int size, int capacity) {
_lists = new List<object>[size];
_capacity = capacity;
}
public List<object> this[int ix] {
get {
if(_lists[ix] == null)
_lists[ix] = new List<object>(capacity);
return _lists[ix]
}
}
}
然後使用它像
var myList = new ListArray(100, 500);
myList[0].Add(someObject);
- 1. 列表(矢量)定義與數組
- 2. 定義多維數組列表的容量
- 3. 如何定義列表/數組在Python
- 4. 如何用一些預定義值初始化數組列表?
- 5. 使用預定義數組
- 6. 用於具有預定義大小的數組的initializer_list
- 7. 如何根據定義變量的值定義列表名稱
- 8. 具有預定義函數和變量的PEG.js擴展
- 9. 使用預定義列表計數
- 10. 數據表到預定義DataGridView列
- 11. 具有預定值的自定義drupal表單
- 12. 具有固定預定義值的HTML GET表單
- 13. 如何替換sed命令中具有預定義含義的特定字符?
- 14. 如何獲取在arrays.xml中定義的所有數組列表?
- 15. Angular2自定義表單組的數量
- 16. 如何篩選基於預定義列表上的JSON列表
- 17. 在WCF編組List <>時的預定義容量
- 18. 如何定義具有小數索引號的數組
- 19. 自定義列表到數組陣列
- 20. 自定義列表定義
- 21. VB.NET數組的自定義類列表
- 22. 用遞歸創建具有預定義定義的基本數學運算
- 23. 如何使用類定義數組併爲其添加值(預定義參數)?
- 24. 的預定義C中的數組
- 25. 如何查找具有已定義列的表?
- 26. LINQ虛擬(預定義)列分組
- 27. 如何確定數組中定義的元素的數量?
- 28. 覆蓋預定義的數組
- 29. 如何定義具有多個值的數組?
- 30. 問題以編程的行具有預先定義的列
兩個答案都不錯,但爲什麼不要你需要去做吧 ?根據定義,列表通常會增長。如果你想要一個預定義的,爲什麼不使用數組? – Noctis
長篇故事......我試圖儘量減少記憶操作,因爲那是我的瓶頸。我嘗試在36個內核的機器(AWS超大實例)中充分利用CPU。 – Manngo
所以...你爲什麼不使用數組? :) – Noctis