BlockingCollection<T>.TakeFromAny 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從任何一個指定的 BlockingCollection<T> 執行個體取得項目。
多載
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
引數為 null。
collections
的計數大於 STA 的上限 62 和 MTA 的上限 63。
collections
引數是 0 長度陣列,或者包含 null 項目,或者已在集合呼叫 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
引數為 null。
collections
的計數大於 STA 的上限 62 和 MTA 的上限 63。
collections
引數是 0 長度陣列,或者包含 null 項目,或者已在集合呼叫 CompleteAdding()。
至少其中一個 BlockingCollection<T> 執行個體已經處置。
備註
對TakeFromAny的呼叫可能會封鎖,直到專案可供移除為止。 如果令牌已取消,此方法會提早傳回 OperationCanceledException。