This documentation is archived and is not being maintained.

Stack<T> Constructor (Int32)

Initializes a new instance of the Stack<T> class that is empty and has the specified initial capacity or the default initial capacity, whichever is greater.

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

public Stack(
	int capacity


Type: System.Int32
The initial number of elements that the Stack<T> can contain.


capacity is less than zero.

The capacity of a Stack<T> is the number of elements that the Stack<T> can hold. As elements are added to a Stack<T>, the capacity is automatically increased as required by reallocating the internal array.

If the size of the collection can be estimated, specifying the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the Stack<T>.

The capacity can be decreased by calling TrimExcess.

This constructor is an O(n) operation, where n is capacity.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, 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.