Самый простой способ преобразовать ArrayList
полный объектов типа T
был бы следующим (при условии, что вы используете .NET 3.5 или выше):
List<T> list = arrayList.Cast<T>().ToList();
Если вы используете 3.0 или более раннюю версию, вам придется зацикливаться:
List<T> list = new List<T>(arrayList.Count);
foreach(T item in arrayList) list.Add(item);