object,存取時需拆箱/裝箱,效能較差。ArrayList list = new ArrayList();
list.Add(123); // 裝箱:int → object
list.Add("123"); // 字串本為參考類型,無裝箱
int val = (int)list[0]; // 拆箱:object → int
大量操作值類型會造成效能負擔,C# 2.0 引入泛型 List<T> 解決此問題。
// 陣列 → ArrayList
int[] arr = {1,2};
ArrayList list = ArrayList.Adapter(arr); // 包裝,非複製
// ArrayList → 陣列 (需同質型別)
ArrayList list = new ArrayList() { "W", "h", "y" };
string[] arr = (string[])list.ToArray(typeof(string));
ArrayList al = new ArrayList();
Random rd = new Random();
do
{
int n = rd.Next(1, 36);
if (!al.Contains(n)) al.Add(n);
} while (al.Count < 7);
al.Sort();
foreach (object n in al) Console.WriteLine(n);