The basic difference between an Array and ArrayList are:
  • Arrays are of fixed size, whereas ArrayList can grow dynamically in size.
  • Array occupies memory in Stack whereas ArrayList occupies Heap.
  • ArrayList are not type-safe, single ArrayList can contain different data types.
Let us go by a sample:

Step 1: Create a console application.

Step 2: Create an ArrList class as shown below.

public class ArrList
   public string msg = "String of ArrList Class";
   string[] sl = new string[3];  // Array is of fixed size, Type Safe
   ArrayList al = new ArrayList();  // Array List size is dynamic , Not Type Safe
   public void AddItem()
   //Permissible members are string only
   sl[0] = "Hi";
   sl[1] = "Hello";
   sl[2] = "Welcome";
   //Permissible members are of any data type
   al.Add("String Msg");  //Adding String
   al.Add(1);  //Adding Integer
   al.Add('c');  //Adding Char
   ArrList ob = new ArrList();
   al.Add(ob);  //Adding userdefined class instance
   public void ReadItem()
   int i;
   Console.WriteLine("Printing Array");
   for (i = 0; i < 3; i++)
   i = 0;
   Console.WriteLine("\n"+"Printing ArrayList");
   foreach (var itm in al)
   Console.Write(itm + "//");

Step 3: In the Main method, use the below code:

Console.WriteLine("//**********Array and ArrayList******************");
   ArrList myAr = new ArrList();