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.