C# | Creating an ArrayList having specified initial capacity Last Updated : 11 Jul, 2025 Comments Improve Suggest changes Like Article Like Report ArrayList(Int32) constructor is used to initialize a new instance of the ArrayList class which will be empty and will have the specified initial capacity. ArrayList represents an ordered collection of an object that can be indexed individually. It is basically an alternative to an array. It also allows dynamic memory allocation, adding, searching and sorting items in the list. Syntax: public ArrayList (int capacity); Here, capacity is the number of elements that the new list can initially store. Exception: This will give ArgumentOutOfRangeException if the capacity is less than zero. Important Points: The number of elements that an ArrayList can hold is known as the Capacity of the ArrayList. If the elements will be added to the ArrayList then capacity will be automatically increased by reallocating the internal array. Specifying the initial capacity will eliminate the requirement to perform a number of resizing operations while adding elements to the ArrayList if the size of the collection can be estimated. This constructor is an O(n) operation, where n is capacity. Below programs illustrate the use of above-discussed constructor: Example 1: csharp // C# Program to illustrate how // to create a ArrayList having // specified initial capacity using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // arrlist is the ArrayList object // ArrayList(10) is the constructor // used to initializes a new // instance of the ArrayList class // having 10 as capacity ArrayList arrlist = new ArrayList(10); Console.Write("Number of elements: "); // Count property is used to get the // number of elements in ArrayList // It will give 0 as no elements // are present Console.WriteLine(arrlist.Count); Console.Write("Capacity of ArrayList: "); // using capacity property Console.WriteLine(arrlist.Capacity); // inserting elements to ArrayList arrlist.Add("C"); arrlist.Add("C++"); arrlist.Add("Java"); arrlist.Add("C#"); Console.Write("Number of elements: "); // Count property is used to get the // number of elements in ArrayList Console.WriteLine(arrlist.Count); Console.Write("Capacity of ArrayList: "); // using capacity property Console.WriteLine(arrlist.Capacity); } } Output: Number of elements: 0 Capacity of ArrayList: 10 Number of elements: 4 Capacity of ArrayList: 10 Example 2: For ArgumentOutOfRangeException csharp // C# Program to illustrate how // to create a ArrayList having // specified initial capacity using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // arrlist is the ArrayList object // taking capacity less than zero ArrayList arrlist = new ArrayList(-4); // using capacity property Console.WriteLine(arrlist.Capacity); } } Runtime Error: Unhandled Exception: System.ArgumentOutOfRangeException: 'capacity' must be non-negative. Parameter name: capacity Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.arraylist.-ctor?view=netframework-4.7.2#System_Collections_ArrayList__ctor_System_Int32_ Create Quiz Comment K Kirti_Mangal Follow 0 Improve K Kirti_Mangal Follow 0 Improve Article Tags : C# CSharp-Collections-Namespace CSharp-Collections-ArrayList Explore IntroductionC# Tutorial 2 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsClass and Objects in C# 4 min read Constructors in C# 5 min read C# Inheritance 3 min read Encapsulation in C# 2 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read Method Parameters in C# 4 min read Method Overriding in C# 7 min read Anonymous Method in C# 2 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read ArrayList Class in C# 4 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 2 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 5 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like