BlockingCollection<T>.TryAddToAny Method (BlockingCollection<T>[], T, Int32)
Tries to add the specified item to any one of the specified BlockingCollection<T> instances.
Namespace: System.Collections.Concurrent
Assembly: System (in System.dll)
public static int TryAddToAny( BlockingCollection<T>[] collections, T item, int millisecondsTimeout )
Parameters
- collections
- Type: System.Collections.Concurrent.BlockingCollection<T>[]
The array of collections.
- item
- Type: T
The item to be added to one of the collections.
- millisecondsTimeout
- Type: System.Int32
The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.
Return Value
Type: System.Int32The index of the collection in the collections array to which the item was added, or -1 if the item could not be added.
| Exception | Condition |
|---|---|
| ObjectDisposedException | At least one of the BlockingCollection<T> instances has been disposed. |
| ArgumentNullException | The collections argument is null. |
| ArgumentOutOfRangeException | millisecondsTimeout is a negative number other than -1, which represents an infinite time-out. -or- The count of collections is greater than the maximum size of 62 for STA and 63 for MTA. |
| ArgumentException | The collections argument is a 0-length array or contains a null element, or at least one of collections has been marked as complete for adding. |
| InvalidOperationException | At least one underlying collection didn't accept the item. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.