BlockingCollection<T>.AddToAny Method (BlockingCollection<T>[], T, CancellationToken)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Adds the specified item to any one of the specified BlockingCollection<T> instances.

Namespace:   System.Collections.Concurrent
Assembly:  System (in System.dll)

public static int AddToAny(
	BlockingCollection<T>[] collections,
	T item,
	CancellationToken cancellationToken


Type: System.Collections.Concurrent.BlockingCollection<T>[]

The array of collections.

Type: T

The item to be added to one of the collections.

Type: System.Threading.CancellationToken

A cancellation token to observe.

Return Value

Type: System.Int32

The index of the collection in the collections array to which the item was added.

Exception Condition

If the CancellationToken is canceled.


At least one underlying collection didn't accept the item.


The collections argument is null.


The count of collections is greater than the maximum size of 62 for STA and 63 for MTA.


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.


At least one of the BlockingCollection<T> instances has been disposed, or the CancellationTokenSource that created cancellationToken has been disposed.

If a bounded capacity was specified when all of the BlockingCollection<T> instances were initialized, a call to AddToAny may block until space is available in one of the collections to store the provided item. This method may return before the item is added to any collection if the cancellationToken is canceled before space is available.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top