C# | Sets the capacity to the actual number of elements in the ArrayList

Last Updated : 11 Jul, 2025

ArrayList.TrimToSize Method is used to set the capacity to the actual number of elements in the ArrayList. It can be used to minimize a collection's memory overhead if no new elements will be added to the collection. Note: This method is an O(n) operation, where n is Count. Syntax:

public virtual void TrimToSize ();

Exception: This method will give NotSupportedException if the ArrayList is read-only or has a fixed size. Below given are some examples to understand the implementation in a better way: Example 1: 

CSharp
// C# program to illustrate the TrimToSize() Method
using System;
using System.Collections;

class GFG {
    
    // Main method
    public static void Main()
    {
        
        // create and initialize new ArrayList
        ArrayList mylist = new ArrayList();
        mylist.Add("Geeks");
        mylist.Add("GFG");
        mylist.Add("DSA");
        mylist.Add("C#");
        mylist.Add("Java");
        mylist.Add("C++");

        // Capacity of ArrayList before trimming
        Console.WriteLine("Before trimming the capacity is: {0}",
                                                mylist.Capacity);

        // trim the ArrayList
        mylist.TrimToSize();

        // Capacity of ArrayList after trimming
        Console.WriteLine("After trimming the capacity is: {0}",
                                               mylist.Capacity);
    }
}

Output:

Before trimming the capacity is: 8
After trimming the capacity is: 6

Example 2: 

CSharp
// C# program to illustrate the TrimToSize() Method
using System;
using System.Collections;

class GFG {

   // Main Method
   public static void Main()  {

      // Creating and initializing a new ArrayList.
      ArrayList mylist = new ArrayList();
      mylist.Add("C# ");
      mylist.Add("Java ");
      mylist.Add("C++ ");
      mylist.Add("DSA ");
      mylist.Add("Python ");
      mylist.Add("Web");
      
      

      // Displaying the count, capacity 
      // and values of the ArrayList.
      Console.WriteLine("Before Using TrimToSize Method:");
      Console.WriteLine("Count: {0}", mylist.Count);
      Console.WriteLine("Capacity: {0}", mylist.Capacity);
      Console.Write("Values are: ");
      Display(mylist);
      
      Console.WriteLine();

      // Trim the ArrayList.
      mylist.TrimToSize();

      // Displaying the count, capacity 
      // and values of the ArrayList.
      Console.WriteLine("After Using TrimToSize Method:");
      Console.WriteLine("Count: {0}", mylist.Count);
      Console.WriteLine("Capacity: {0}", mylist.Capacity);
      Console.Write("Values are: ");
      Display(mylist);
      

      // Clear the ArrayList.
      mylist.Clear();
      
      Console.WriteLine();

      // Displaying the count, capacity 
      // and values of the ArrayList.
      Console.WriteLine("After Using Clear Method:");
      Console.WriteLine("Count: {0}", mylist.Count);
      Console.WriteLine("Capacity: {0}", mylist.Capacity);
      Console.Write("Values are: ");
      Display(mylist);
      
      // again trim the ArrayList
      mylist.TrimToSize();
      
      Console.WriteLine();

      // Displaying the count, capacity 
      // and values of the ArrayList.
      Console.WriteLine("After Again Using TrimToSize Method:");
      Console.WriteLine("Count: {0}", mylist.Count);
      Console.WriteLine("Capacity: {0}", mylist.Capacity);
      Console.Write("Values are: ");
      Display(mylist);
   }

   // to display the values of ArrayList
   public static void Display(IEnumerable ienum)
   {
      foreach (Object ob in ienum)
         Console.Write("{0}", ob);
         
      Console.WriteLine();
   }

}

Output:

Before Using TrimToSize Method:
Count: 6
Capacity: 8
Values are: C# Java C++ DSA Python Web

After Using TrimToSize Method:
Count: 6
Capacity: 6
Values are: C# Java C++ DSA Python Web

After Using Clear Method:
Count: 0
Capacity: 6
Values are: 

After Again Using TrimToSize Method:
Count: 0
Capacity: 4
Values are: 

Reference: 

Comment

Explore