2015年5月8日 星期五

C# []、List、Array、ArrayList 區別與使用方式

[] 是針對特定類型、固定長度的。

int[] arr = new int[] { 1, 2 };
for (int index = 0; index < arr.Length; index++)
{
    arr[index] += 1;
}



List 是針對特定類型、任意長度的。

命名空間是 using System.Collections.Generic;
List list = new List ();
list.Add(1);
list.Add(2);
for (int index = 0; index < list.Count; index++)
{
    list[index] += 1;
}



Array 是針對任意類型、固定長度的。

命名空間是 using System;
Array array = Array.CreateInstance(System.Type.GetType("System.Int32"), 2);
array.SetValue(1, 0);
array.SetValue(2, 1);
for (int index = 0; index < array.Length; index++)
{
    array.SetValue((int)array.GetValue(index) + 1, index);
}

ArrayList 是針對任意類型、任意長度的。

命名空間是 using System.Collections.Generic;
ArrayList arrayList = new ArrayList(3);
arrayList.Add(1);
arrayList.Add(2);
for (int index = 0; index < array.Length; index++)
{
    arrayList[index] = (int)arrayList[index] * 2;
}

其中需特別注意的是
Array 和 ArrayList 是通過存儲 object 實現任意類型的,所以使用時要轉換型別。


沒有留言:

張貼留言