簡體   English   中英

是否可以釋放數組或列表而不丟失索引?

[英]Is it possible to free an array or list without losing the index?

我有一個清單,可以閱讀和存儲大量文本。 此列表不斷向其中添加更多字符串。 一段時間后,此列表可能需要花費多達GB的RAM。

同時,我有一個線程從第一個索引開始讀取列表或數組,然后對其進行處理。

for(i=0;;i++)
{
     string a = array[i]
     Process(a)
}

而且我想知道是否有可能在不丟失計數或索引的情況下清除前1000個字符串。 這樣,上述循環仍將在不丟失索引的情況下仍然有效,但同時釋放了內存。 是否可以僅刪除數組的一部分?

此處的理想方法是不使用數組,而是使用可以迭代的“迭代器”,即按需收集項,而不是一次收集所有數組項然后進行處理。 請參閱此處作為一個很好的入門參考 這種方法的另一個好處是,通過使用Parallel.ForEach ,它可以使您處於使代碼多線程的更好位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM