This documentation is archived and is not being maintained.

BlockingCollection<T>.TryAdd Method (T, Int32, CancellationToken)

Tries to add the specified item to the BlockingCollection<T> within the specified time period, while observing a cancellation token.

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

public bool TryAdd(
	T item,
	int millisecondsTimeout,
	CancellationToken cancellationToken


Type: T
The item to be added to the collection.
Type: System.Int32
The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.
Type: System.Threading.CancellationToken
A cancellation token to observe.

Return Value

Type: System.Boolean
true if the item could be added to the collection within the specified time; otherwise, false. If the item is a duplicate, and the underlying collection does not accept duplicate items, then an InvalidOperationException is thrown.


If the CancellationToken is canceled.


The BlockingCollection<T> has been disposed or the underlying CancellationTokenSource has been disposed.


millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.


The BlockingCollection<T> has been marked as complete with regards to additions.


The underlying collection didn't accept the item.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.