Sdílet prostřednictvím


BlockingCollection<T>.TakeFromAny Metoda

Definice

Vezme položku z libovolné ze zadaných BlockingCollection<T> instancí.

Přetížení

TakeFromAny(BlockingCollection<T>[], T)

Vezme položku z libovolné ze zadaných BlockingCollection<T> instancí.

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

Vezme položku z libovolného ze zadaných BlockingCollection<T> instancí při pozorování zadaného tokenu zrušení.

TakeFromAny(BlockingCollection<T>[], T)

Zdroj:
BlockingCollection.cs
Zdroj:
BlockingCollection.cs
Zdroj:
BlockingCollection.cs

Vezme položku z libovolné ze zadaných BlockingCollection<T> instancí.

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

Parametry

collections
BlockingCollection<T>[]

Pole kolekcí.

item
T

Položka, která byla odebrána z jedné z kolekcí.

Návraty

Index kolekce v collections poli, ze kterého byla položka odebrána.

Výjimky

Nejméně jedna z BlockingCollection<T> instancí byla odstraněna.

Argument collections je null.

Počet je collections větší než maximální velikost 62 pro STA a 63 pro MTA.

Argument collections je pole s délkou 0 nebo obsahuje prvek null nebo CompleteAdding() byl volána v kolekci.

Nejméně jedna z podkladových kolekcí byla změněna mimo svou BlockingCollection<T> instanci.

Poznámky

Volání TakeFromAny může blokovat, dokud je položka k dispozici k odebrání.

Viz také

Platí pro

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

Zdroj:
BlockingCollection.cs
Zdroj:
BlockingCollection.cs
Zdroj:
BlockingCollection.cs

Vezme položku z libovolného ze zadaných BlockingCollection<T> instancí při pozorování zadaného tokenu zrušení.

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

Parametry

collections
BlockingCollection<T>[]

Pole kolekcí.

item
T

Položka, která byla odebrána z jedné z kolekcí.

cancellationToken
CancellationToken

Token zrušení, který se má sledovat.

Návraty

Index kolekce v collections poli, ze kterého byla položka odebrána.

Výjimky

Nejméně jedna z podkladových kolekcí byla změněna mimo svou BlockingCollection<T> instanci.

Argument collections je null.

Počet je collections větší než maximální velikost 62 pro STA a 63 pro MTA.

Argument collections je pole s délkou 0 nebo obsahuje prvek null nebo CompleteAdding() byl volána v kolekci.

Nejméně jedna z BlockingCollection<T> instancí byla odstraněna.

Poznámky

Volání TakeFromAny může blokovat, dokud je položka k dispozici k odebrání. Metoda se vrátí brzy s OperationCanceledException, pokud je token zrušen.

Viz také

Platí pro