This topic has not yet been rated - Rate this topic

ConcurrentStack<T>.PushRange Method (T[], Int32, Int32)

Inserts multiple objects at the top of the ConcurrentStack<T> atomically.

Namespace:  System.Collections.Concurrent
Assembly:  mscorlib (in mscorlib.dll)
public void PushRange(
	T[] items,
	int startIndex,
	int count
)

Parameters

items
Type: T[]
The objects to push onto the ConcurrentStack<T>.
startIndex
Type: System.Int32
The zero-based offset in items at which to begin inserting elements onto the top of the ConcurrentStack<T>.
count
Type: System.Int32
The number of elements to be inserted onto the top of the ConcurrentStack<T>.
Exception Condition
ArgumentNullException

items is a null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

startIndex or count is negative. Or startIndex is greater than or equal to the length of items.

ArgumentException

startIndex + count is greater than the length of items.

When adding multiple items to the stack, using PushRange is a more efficient mechanism than using Push one item at a time. Additionally, PushRange guarantees that all of the elements will be added atomically, meaning that no other threads will be able to inject elements between the elements being pushed. Items at lower indices in the items array will be pushed before items at higher indices.

For a code example, see ConcurrentStack<T>.

.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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ