BlockingCollection<T>.TakeFromAny Метод

Определение

Извлекает элемент из любого из указанных экземпляров BlockingCollection<T>.

Перегрузки

TakeFromAny(BlockingCollection<T>[], T)

Извлекает элемент из любого из указанных экземпляров BlockingCollection<T>.

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

Извлекает элемент из любого из указанных экземпляров BlockingCollection<T>, контролируя указанный маркер отмены.

TakeFromAny(BlockingCollection<T>[], T)

Исходный код:
BlockingCollection.cs
Исходный код:
BlockingCollection.cs
Исходный код:
BlockingCollection.cs

Извлекает элемент из любого из указанных экземпляров 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 больше, чем максимальный размер (62 для STA и 63 для MTA).

Аргумент collections является массивом с нулевой длиной или содержит элемент null, либо в коллекции был вызван методCompleteAdding().

Хотя бы одна из базовых коллекций была изменена за пределами ее экземпляра BlockingCollection<T>.

Комментарии

Вызов TakeFromAny может блокироваться до тех пор, пока элемент не станет доступен для удаления.

См. также раздел

Применяется к

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

Исходный код:
BlockingCollection.cs
Исходный код:
BlockingCollection.cs
Исходный код:
BlockingCollection.cs

Извлекает элемент из любого из указанных экземпляров 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 больше, чем максимальный размер (62 для STA и 63 для MTA).

Аргумент collections является массивом с нулевой длиной или содержит элемент null, либо в коллекции был вызван методCompleteAdding().

Хотя бы один из экземпляров BlockingCollection<T> был удален.

Комментарии

Вызов TakeFromAny может блокироваться до тех пор, пока элемент не станет доступен для удаления. При отмене маркера метод возвратит исключение OperationCanceledException.

См. также раздел

Применяется к