.NET Framework Class Library |
BlockingCollection<(Of <(T>)>)..::.TryTakeFromAny Method (array<BlockingCollection<(Of <(T>)>)>[]()[], T%, Int32) |
BlockingCollection<(Of <(T>)>) Class See Also Send Feedback |
Attempts to remove an item from any one of the specified
BlockingCollection<(Of <(T>)>) instances.
Namespace:
System.Collections.Concurrent
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function TryTakeFromAny ( _ collections As BlockingCollection(Of T)(), _ <OutAttribute> ByRef item As T, _ millisecondsTimeout As Integer _ ) As Integer |
C# |
---|
public static int TryTakeFromAny( BlockingCollection<T>[] collections, out T item, int millisecondsTimeout ) |
Parameters
- collections
- Type: array<
System.Collections.Concurrent..::.BlockingCollection<(Of <(T>)>)
>[]()[]
The array of collections.
- item
- Type:
T
%
The item removed from one of the collections.
- millisecondsTimeout
- Type: System..::.Int32
The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.
Return Value
The index of the collection in the collections array from which the item was removed, or -1 if an item could not be removed.Remarks
A call to TryTakeFromAny may block until an item is available to be removed.
Exceptions
Exception | Condition |
---|---|
System..::.ArgumentNullException | The collections argument is null. |
System..::.ArgumentException | The collections argument is a 0-length array or contains a null element. |
System..::.ObjectDisposedException | At least one of the BlockingCollection<(Of <(T>)>) instances has been disposed. |
System..::.ArgumentOutOfRangeException | millisecondsTimeout is a negative number other than -1, which represents an infinite time-out. |
System..::.InvalidOperationException | At least one of the underlying collections was modified outside of its BlockingCollection<(Of <(T>)>) instance. |
System..::.ArgumentOutOfRangeException | The count of collections is greater than the maximum size of 62 for STA and 63 for MTA. |