BlockingCollection<T>.TakeFromAny 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從任一指定 BlockingCollection<T> 實例中取一個項目。
多載
| 名稱 | Description |
|---|---|
| TakeFromAny(BlockingCollection<T>[], T) |
從任一指定 BlockingCollection<T> 實例中取一個項目。 |
| TakeFromAny(BlockingCollection<T>[], T, CancellationToken) |
從指定的 BlockingCollection<T> 實例中取一個項目,同時觀察指定的消去標記。 |
TakeFromAny(BlockingCollection<T>[], T)
從任一指定 BlockingCollection<T> 實例中取一個項目。
public:
static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T) As Integer
參數
- collections
- BlockingCollection<T>[]
收藏的陣列。
- item
- T
那個從其中一個收藏中被移除的項目。
傳回
該項目被移除的陣列中 collections 集合的索引。
例外狀況
至少有一個 BlockingCollection<T> 個案已被處理。
這個 collections 論證是空的。
這個 collections 數量超過STA的最大62和MTA的最大大小63。
collections參數為 0 長的陣列,或包含空元素,或CompleteAdding()已在集合中被呼叫。
至少有一個底層集合在其實例外 BlockingCollection<T> 被修改。
備註
致電 TakeFromAny 可能會封鎖,直到有商品可供移除。
另請參閱
適用於
TakeFromAny(BlockingCollection<T>[], T, CancellationToken)
從指定的 BlockingCollection<T> 實例中取一個項目,同時觀察指定的消去標記。
public:
static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, System::Threading::CancellationToken cancellationToken);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, System.Threading.CancellationToken cancellationToken);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, System.Threading.CancellationToken cancellationToken);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * System.Threading.CancellationToken -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, cancellationToken As CancellationToken) As Integer
參數
- collections
- BlockingCollection<T>[]
收藏的陣列。
- item
- T
那個從其中一個收藏中被移除的項目。
- cancellationToken
- CancellationToken
一個可以觀察的取消標記。
傳回
該項目被移除的陣列中 collections 集合的索引。
例外狀況
至少有一個底層集合在其實例外 BlockingCollection<T> 被修改。
這個 collections 論證是空的。
這個 collections 數量超過STA的最大62和MTA的最大大小63。
參數 collections 為 0 長的陣列,或包含空元素,或 CompleteAdding() 在集合中被呼叫。
至少有一個 BlockingCollection<T> 個案已被處理。
備註
致電 TakeFromAny 可能會封鎖,直到有商品可供移除。 若標記被取消,方法會提前回傳並使用操作取消例外(OperationCanceledException)。