BlockingCollection<T>.TakeFromAny Methode

Definition

Verwendet ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen.

Überlädt

TakeFromAny(BlockingCollection<T>[], T)

Verwendet ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen.

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

Verwendet ein Element aus einer angegebenen BlockingCollection<T>-Instanz und berücksichtigt das angegebene Abbruchtoken.

TakeFromAny(BlockingCollection<T>[], T)

Verwendet ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen.

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

Parameter

collections
BlockingCollection<T>[]

Das Array von Auflistungen.

item
T

Das Element, das aus einer der Auflistungen entfernt wurde.

Gibt zurück

Int32

Der Index der Auflistung im collections-Array, aus dem das Element entfernt wurde.

Ausnahmen

Mindestens eine der BlockingCollection<T>-Instanzen wurde freigegeben.

Das collections-Argument ist null.

Die Anzahl von collections ist größer als die maximale Größe von 62 für STA und 63 für MTA.

Das collections-Argument ist ein Array der Länge 0 oder enthält ein NULL-Element oder CompleteAdding() wurde für die Auflistung aufgerufen.

Mindestens eine der zugrunde liegenden Auflistungen wurde außerhalb seiner BlockingCollection<T>-Instanz geändert.

Hinweise

Ein Aufruf von TakeFromAny kann blockieren, bis ein Element entfernt werden kann.

Siehe auch

Gilt für:

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

Verwendet ein Element aus einer angegebenen BlockingCollection<T>-Instanz und berücksichtigt das angegebene Abbruchtoken.

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

Parameter

collections
BlockingCollection<T>[]

Das Array von Auflistungen.

item
T

Das Element, das aus einer der Auflistungen entfernt wurde.

cancellationToken
CancellationToken

Ein Abbruchtoken, das überwacht werden soll.

Gibt zurück

Int32

Der Index der Auflistung im collections-Array, aus dem das Element entfernt wurde.

Ausnahmen

Mindestens eine der zugrunde liegenden Auflistungen wurde außerhalb seiner BlockingCollection<T>-Instanz geändert.

Das collections-Argument ist null.

Die Anzahl von collections ist größer als die maximale Größe von 62 für STA und 63 für MTA.

Das collections-Argument ist ein Array der Länge 0 oder enthält ein NULL-Element oder CompleteAdding() wurde für die Auflistung aufgerufen.

Mindestens eine der BlockingCollection<T>-Instanzen wurde freigegeben.

Hinweise

Ein Aufruf von TakeFromAny kann blockieren, bis ein Element entfernt werden kann. Die Methode wird früh mit einem OperationCanceledException zurückgegeben, wenn das Token abgebrochen wird.

Siehe auch

Gilt für: