BlockingCollection<T>.TakeFromAny Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Retira um item de qualquer uma das instâncias especificadas BlockingCollection<T> .
Sobrecargas
| Name | Description |
|---|---|
| TakeFromAny(BlockingCollection<T>[], T) |
Retira um item de qualquer uma das instâncias especificadas BlockingCollection<T> . |
| TakeFromAny(BlockingCollection<T>[], T, CancellationToken) |
Retira um item de qualquer uma das instâncias especificadas BlockingCollection<T> enquanto observa o token de cancelamento especificado. |
TakeFromAny(BlockingCollection<T>[], T)
Retira um item de qualquer uma das instâncias especificadas 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);
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
Parâmetros
- collections
- BlockingCollection<T>[]
A variedade de coleções.
- item
- T
O item que foi retirado de uma das coleções.
Devoluções
O índice da coleção no collections array do qual o item foi removido.
Exceções
Pelo menos um dos BlockingCollection<T> casos foi resolvido.
O collections argumento é nulo.
A contagem de collections é superior ao tamanho máximo de 62 para STA e 63 para MTA.
O collections argumento é um array de comprimento 0 ou contém um elemento nulo ou CompleteAdding() foi chamado para a coleção.
Pelo menos uma das coleções subjacentes foi modificada fora da sua BlockingCollection<T> instância.
Observações
Uma chamada para TakeFromAny pode bloquear até que um item esteja disponível para ser removido.
Ver também
Aplica-se a
TakeFromAny(BlockingCollection<T>[], T, CancellationToken)
Retira um item de qualquer uma das instâncias especificadas BlockingCollection<T> enquanto observa o token de cancelamento especificado.
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);
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
Parâmetros
- collections
- BlockingCollection<T>[]
A variedade de coleções.
- item
- T
O item que foi retirado de uma das coleções.
- cancellationToken
- CancellationToken
Um token de cancelamento para observar.
Devoluções
O índice da coleção no collections array do qual o item foi removido.
Exceções
Está CancellationToken cancelado.
Pelo menos uma das coleções subjacentes foi modificada fora da sua BlockingCollection<T> instância.
O collections argumento é nulo.
A contagem de collections é superior ao tamanho máximo de 62 para STA e 63 para MTA.
O collections argumento é um array de comprimento 0 ou contém um elemento nulo, ou CompleteAdding() foi chamado para a coleção.
Pelo menos um dos BlockingCollection<T> casos foi resolvido.
Observações
Uma chamada para TakeFromAny pode bloquear até que um item esteja disponível para ser removido. O método devolverá antecipadamente com uma OperationCanceledException se o token for cancelado.