Introduction
This blog will give us an idea of the differences between Array and ArrayList in C#, and we can figure out when to use Array vs. ArrayList in C#. Basically, this is an interview question. So this helps beat an interview also.
Array
Arrays are strongly-typed collections of the same data type and have a fixed length that cannot be changed during runtime. We can access the Array elements by numeric index. The array indexes start at zero. The default value of numeric array elements is set to zero, and the reference elements are set to null.

Example

ArrayList
An Array list is not a strongly-typed collection. It can store the values of different data types or the same datatype. The size of an array list increases or decreases dynamically, so it can take any size of values from any data type. ArrayList is one of the most flexible data structures from C# Collections. ArrayList contains a simple list of values. ArrayList implements the IList interface using an array, and very easily, we can add, insert, delete, view, etc. It is very flexible because we can add without any size information that it will grow dynamically and also shrink.
Example

Differences between Array and ArrayList
| Sr | Array | ArrayList |
| 1 | An array is strongly typed. This means that an array can store only specific types of items\elements | ArrayList can store any items\elements. |
| 2 | In arrays, we can store only one datatype, either int, string, char, etc… | In ArrayList we can store all the datatype values |
| 3 | Array cant accept null | ArrayList collection accepts null |
| 4 | Arrays belong to System.Array namespace using System; |
ArrayList belongs to System.Collection namespaces using System.Collections; |
| 5 | Example - int[] intArray=new int[]{2}; intArray[0] = 1; intArray[2] = 2; |
Example - ArrayList Arrlst = new ArrayList(); Arrlst.Add("Sagar"); Arrlst.Add(1); Arrlst.Add(null); |
When to use Array vs ArrayLists in C#?
Size: Arrays have a fixed size that is determined when they are created, whereas ArrayLists can grow or shrink dynamically based on the number of elements they contain.
Type: Arrays can hold elements of a single data type, whereas ArrayLists can hold elements of any data type.
Performance: Arrays generally perform better than ArrayLists when it comes to accessing elements because array elements are stored in contiguous memory locations, which makes them more efficient to access. ArrayLists, on the other hand, require additional processing overhead to access their elements.
Flexibility: ArrayLists are more flexible than arrays because they can be resized dynamically and can hold elements of different data types.
Overall, the choice between using an array or an ArrayList in C# depends on the specific needs of your program. If you need a fixed-size collection of elements of the same data type, then an array may be the better choice. If you need a dynamic collection that can grow or shrink in size and can hold elements of any data type, then an ArrayList may be a better choice.
Learn more Arrays in C# (Download Sample Project)

Neuro AjayPosted Feb 1, 2022, 5:47 AM
Example -int[] intArray=new int[]{2}; intArray[0] = 1; intArray[2] = 2; This is wrong Initialization of array int[] intArray=new int[]{2}; This statement will store only one value at index 0 so this statement intArray[2] = 2; will produce error .
Mayur KoshtiPosted Jul 27, 2020, 7:25 AM
Yes this is Good article for development and interview bise
shahnawaz shaikhPosted Apr 12, 2019, 6:08 AM
We can define array object and can assign any datatype so its not true that array can be define or contain only with single data type at a time. object[] obj = new object[2];
Baburaj JamesPosted Oct 29, 2018, 4:50 AM
ArrayList is dynamic while Array is static
Rahul KadamPosted Aug 10, 2018, 12:32 AM
Nice blog.I refer for my interview purpose.Really helpful with comments also.
Prashanth KumarPosted Jun 24, 2018, 11:53 PM
Can you please explain which one better Array or ArrayList
Raghu SPosted Feb 8, 2018, 11:16 PM
Very good expaination............