Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
TryTake Method (T)

BlockingCollection<T>.TryTake Method (T)

.NET Framework 4.6 and 4.5

Tries to remove an item from the BlockingCollection<T>.

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

public bool TryTake(
	out T item


Type: T

The item to be removed from the collection.

Return Value

Type: System.Boolean
true if an item could be removed; otherwise, false.


The BlockingCollection<T> has been disposed.


The underlying collection was modified outside of this BlockingCollection<T> instance.

If the collection is empty, this method immediately returns false.

The order in which an item is removed depends on the type of collection used to create the BlockingCollection<T> instance. When you create a BlockingCollection<T> object, you can specify the type of collection to use. For example, you could specify a ConcurrentQueue object for first in, first out (FIFO) behavior, or a ConcurrentStack<T> object for last in, first out (LIFO) behavior. You can use any collection class that implements the IProducerConsumerCollection<T> interface. The default collection type for BlockingCollection<T> is ConcurrentQueue<T>.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

.NET for Windows Phone apps

Supported in: Windows Phone 8.1

Portable Class Library

Supported in: Portable Class Library
© 2015 Microsoft