BlockingCollection<T>.TakeFromAny メソッド

定義

指定したいずれかの BlockingCollection<T> インスタンスから項目を取得します。Takes an item from any one of the specified BlockingCollection<T> instances.

オーバーロード

TakeFromAny(BlockingCollection<T>[], T)

指定したいずれかの BlockingCollection<T> インスタンスから項目を取得します。Takes an item from any one of the specified BlockingCollection<T> instances.

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

指定したキャンセル トークンを観察しながら、指定した BlockingCollection<T> インスタンスのいずれかから項目を取得します。Takes an item from any one of the specified BlockingCollection<T> instances while observing the specified cancellation token.

TakeFromAny(BlockingCollection<T>[], T)

指定したいずれかの BlockingCollection<T> インスタンスから項目を取得します。Takes an item from any one of the specified BlockingCollection<T> instances.

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>[]

コレクションの配列。The array of collections.

item
T

いずれかのコレクションから削除される項目。The item removed from one of the collections.

戻り値

Int32

項目が削除された collections 配列内のコレクションのインデックス。The index of the collection in the collections array from which the item was removed.

例外

1 つ以上の BlockingCollection<T> インスタンスが破棄されています。At least one of the BlockingCollection<T> instances has been disposed.

collections 引数が null です。The collections argument is null.

collections の数が STA および MTA の最大サイズ (STA の場合は 62、MTA の場合は 63) を超えています。The count of collections is greater than the maximum size of 62 for STA and 63 for MTA.

collections 引数が長さ 0 の配列であるか、NULL 要素がこの引数に含まれています。または、CompleteAdding() がコレクションで呼び出されました。The collections argument is a 0-length array or contains a null element or CompleteAdding() has been called on the collection.

1 つ以上の基になるコレクションが BlockingCollection<T> インスタンス以外で変更されました。At least one of the underlying collections was modified outside of its BlockingCollection<T> instance.

注釈

項目を削除できるようになるまで、の呼び出しがブロックされる可能性があります。A call to TakeFromAny may block until an item is available to be removed.

適用対象

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

指定したキャンセル トークンを観察しながら、指定した BlockingCollection<T> インスタンスのいずれかから項目を取得します。Takes an item from any one of the specified BlockingCollection<T> instances while observing the specified cancellation token.

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>[]

コレクションの配列。The array of collections.

item
T

いずれかのコレクションから削除される項目。The item removed from one of the collections.

cancellationToken
CancellationToken

観察するキャンセル トークン。A cancellation token to observe.

戻り値

Int32

項目が削除された collections 配列内のコレクションのインデックス。The index of the collection in the collections array from which the item was removed.

例外

CancellationToken が取り消されている場合。If the CancellationToken is canceled.

1 つ以上の基になるコレクションが BlockingCollection<T> インスタンス以外で変更されました。At least one of the underlying collections was modified outside of its BlockingCollection<T> instance.

collections 引数が null です。The collections argument is null.

collections の数が STA および MTA の最大サイズ (STA の場合は 62、MTA の場合は 63) を超えています。The count of collections is greater than the maximum size of 62 for STA and 63 for MTA.

collections 引数が長さ 0 の配列であるか、NULL 要素がこの引数に含まれています。または、CompleteAdding() がコレクションで呼び出されました。The collections argument is a 0-length array or contains a null element, or CompleteAdding() has been called on the collection.

1 つ以上の BlockingCollection<T> インスタンスが破棄されています。At least one of the BlockingCollection<T> instances has been disposed.

注釈

項目を削除できるようになるまで、の呼び出しがブロックされる可能性があります。A call to TakeFromAny may block until an item is available to be removed. トークンが取り消された場合、メソッドは OperationCanceledException を使用して早期に戻ります。The method will return early with an OperationCanceledException if the token is canceled.

適用対象