BlockingCollection<T>.TakeFromAny Metodo

Definizione

Accetta un elemento da una qualsiasi delle istanze specificate BlockingCollection<T> .

Overload

Nome Descrizione
TakeFromAny(BlockingCollection<T>[], T)

Accetta un elemento da una qualsiasi delle istanze specificate BlockingCollection<T> .

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

Accetta un elemento da una qualsiasi delle istanze specificate BlockingCollection<T> durante l'osservazione del token di annullamento specificato.

TakeFromAny(BlockingCollection<T>[], T)

Accetta un elemento da una qualsiasi delle istanze specificate 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

Parametri

collections
BlockingCollection<T>[]

Matrice di raccolte.

item
T

Elemento rimosso da una delle raccolte.

Valori restituiti

Indice della raccolta nella collections matrice da cui è stato rimosso l'elemento.

Eccezioni

Almeno una delle BlockingCollection<T> istanze è stata eliminata.

L'argomento collections è Null.

Il conteggio di collections è maggiore della dimensione massima di 62 per STA e 63 per MTA.

L'argomento collections è una matrice di lunghezza 0 o contiene un elemento Null o CompleteAdding() è stato chiamato nella raccolta.

Almeno una delle raccolte sottostanti è stata modificata all'esterno dell'istanza BlockingCollection<T> .

Commenti

Una chiamata a TakeFromAny può bloccarsi fino a quando non è disponibile un elemento da rimuovere.

Vedi anche

Si applica a

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

Accetta un elemento da una qualsiasi delle istanze specificate BlockingCollection<T> durante l'osservazione del token di annullamento specificato.

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

Parametri

collections
BlockingCollection<T>[]

Matrice di raccolte.

item
T

Elemento rimosso da una delle raccolte.

cancellationToken
CancellationToken

Token di annullamento da osservare.

Valori restituiti

Indice della raccolta nella collections matrice da cui è stato rimosso l'elemento.

Eccezioni

L'oggetto CancellationToken viene annullato.

Almeno una delle raccolte sottostanti è stata modificata all'esterno dell'istanza BlockingCollection<T> .

L'argomento collections è Null.

Il conteggio di collections è maggiore della dimensione massima di 62 per STA e 63 per MTA.

L'argomento collections è una matrice di lunghezza 0 o contiene un elemento Null oppure CompleteAdding() è stato chiamato nella raccolta.

Almeno una delle BlockingCollection<T> istanze è stata eliminata.

Commenti

Una chiamata a TakeFromAny può bloccarsi fino a quando non è disponibile un elemento da rimuovere. Il metodo restituirà in anticipo un'eccezione OperationCanceledException se il token viene annullato.

Vedi anche

Si applica a