4

http://msdn.microsoft.com/en-us/library/dd267312.aspxでの MSDN の発言は、次のように述べています...

「BlockingCollection のデフォルトのコレクション タイプは ConcurrentQueue です」

これは、コレクションで「GetConsumingEnumerable()」を実行している間、プルされたアイテムがキューから取り出され、使用後に GC のマークが付けられることを意味しますか?

つまり...次のスニペットでは、

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

ループの繰り返しの後、アイテムはどうなりますか?

4

1 に答える 1

5

項目はコレクションから削除され、それらへの他の参照が存在しない場合、それらはコレクションの対象になります。

GetConsumingEnumerableのドキュメントから:

戻り値の
型:コレクションからアイテムを削除して返すSystem.Collections.Generic.IEnumerable<T>
an 。IEnumerable<T>

(私の強調)

于 2013-06-24T16:02:59.270 に答える