BlockingCollection<T>.TakeFromAny Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Položka CancellationToken je zrušena.
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.