Hi KALEEM,
As per your explanation array is the best.
Basic difference is that arrays are of fixed size. Whereas an ArrayList implements the list data structure and can dynamically grow. While arrays would be more performant than a list, a list would be far more flexible since you don't need to know the required size initially.
Prior to .NET 2.0 (before generics) ArrayLists were great for storing a list of objects. Now .NET has generics, it is generally much easier to just make a generic list to hold the objects you want.
An array list is basically the same thing as a generic list (of object)
So if you need a list to hold a specific type of object, generics is the way to go. If you need to store different types of objects in a list, an array list can still be useful.
//list that holds only string
List<string> MyList = new List<string>();
//list that holds any object type
List<object> MyList = new List<object>();
//list that holds any object type
ArrayList MyList = new ArrayList();
For more details refer the below article.