但是某些視窗元件卻只支援Array,而且Array的執行速度也比較快。
所以常常會有兩個互相轉換的需求,
下面記錄了兩個之間互換的方法。
- Array轉換成ArrayList
這個有兩種方法:
- 使用建構子具有ICollection介面的版本:
- 使用靜態方法Adapter,該方法具有IList介面:
- 使用建構子具有ICollection介面的版本:
- ArrayList轉換成Array
直接用ArrayList.ToArray即可
直接看程式碼吧!
static void Main(string[] args) { // Array轉換成ArrayList int[] a = { 1, 2, 3, 4, 5, 6 }; // 1) 使用ArrayList建構子中,實作ICollection的方法 ArrayList arr1 = new ArrayList(a); foreach (int i in arr1) { Console.WriteLine(i); } // 2) 使用ArrayList的靜態方法Adapter,實作IList的方法 ArrayList arr2 = ArrayList.Adapter(a); foreach (int i in arr2) { Console.WriteLine(i); } // ArrayList轉換成Array // 使用ToArray方法 int[] b = (int[])arr1.ToArray(typeof(int)); //int[] b = (int[])arr1.ToArray(Type.GetType("System.Int32")); foreach (int i in b) { Console.WriteLine(i); } }
範例程式下載: