2013-06-24 93 views
3

的MSDN言論在http://msdn.microsoft.com/en-us/library/dd267312.aspx狀態......GetConsumingEnumerable實際上是否從BlockingCollection中刪除了一個項目?

「爲BlockingCollection默認集合類型ConcurrentQueue」

這是否意味着,當我在收集運行「GetConsumingEnumerable()」,項目拉動正在從隊列中出列,使用後會標記爲GC?

換句話說......在下面的代碼片段,

foreach (var item in collection.GetConsumingEnumerable()) 
     { 
      //do something with item 
     } 

循環迭代後發生了什麼項目?

+1

當你嘗試過什麼事? – dtb

回答

5

這些項目將從集合中刪除,如果不存在其他對它們的引用,它們將有資格收集。

GetConsumingEnumerable文檔:

返回值
類型:System.Collections.Generic.IEnumerable<T>
IEnumerable<T>去除,並從集合返回項目。

(我的重點)

+1

啊,不知道我是怎麼錯過的。謝謝! – Dabloons

相關問題