1 using System; 2 using System.Collections; 3 4 namespace C_9_4 5 { 6 class Program 7 { 8 9 static void Main(string[] args) 10 { 11 //ArrayList類 12 //ArrayList和List都是放在Collections里面的如果要使用需再class類前面加上 13 //using System.Collections;才可以使用 14 15 //ArrayList類的屬性,這是不同於方法的東西 16 //Capacity 17 //Count 18 //Item 19 20 //有一下幾個特點。 21 /* 22 1.Array的容量和元素個數是固定的,但是ArrayList是可以改變的 23 2.Array一次只能對一個元素進行操作,但是ArrayList可以一次追加插入或者移除一組元素 24 3.ArrayList可以存放多種類型的數據,此時取值要強制轉換(拆箱) 25 4.Array的啟示下標是可以設置的,ArrayList的啟示下標始終是0 26 5.Array可以是多維的,ArrayList始終是一維的 27 28 29 */ 30 31 //先定義一個ArrayList類 32 ArrayList a = new ArrayList(10); 33 //這里()內的大小可以寫也可以不寫 34 //我們再定義一個不寫大小的 35 ArrayList b = new ArrayList(); 36 37 //Capacity獲取ArrayList可包含的元素個數 38 a = new ArrayList(10) {"111",2,3,4,5,6,7,'A',8,9.666 ,10}; 39 //運行后沒有報錯,證明了ArrayList類中可以存放不同類型數據 40 //ArrayList里面的類應該是obj類型的 41 42 b = a;//這里也可以進行賦值的操作 43 44 Console.WriteLine("檢查變量a可容納的元素={0}",a.Capacity.ToString());//20 45 //使用指定格式將此實例的值轉換成其等效的字符串表示,這就是ToString()在這里的作用 46 //a.Capacity表示選用屬性,后面加.ToString()表示調用方法 47 //Console.WriteLine("檢查變量a目前存放的元素個數={0}", a.Capacity);其實這里不加.ToString也是可以的,只是后面懶得改了,,, 48 //這里顯示可以包含20個元素 49 //但是我們設置的是10個元素為什么會變成20呢? 50 //因為我們實際輸入的元素超過了10,而ArrayList在無法裝下的時候會自動讓空間翻倍 51 //所以這里變成了20 52 53 b = new ArrayList(10) {1,2,3,4,5,6 }; 54 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 55 //而這里我們沒有放滿10個元素,則可容納的元素任然是10 56 57 b = new ArrayList(10) { 1, 2, 3, 4, 5, 6 ,7,8,9,9.66}; 58 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 59 b = new ArrayList(10) { 1, 2, 3, 4, 5, 6, 7, 8, 9,"12" }; 60 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 61 b = new ArrayList(10) { 1, 2, 3, 4, 5, 6, 7, 8, 9, "122222222" }; 62 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 63 b = new ArrayList(10) { 1, 2, 3, 4, 5, 6, 7, 8, 9, "AB" }; 64 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 65 b = new ArrayList(10) { 1, 2, 3, 4, 5, 6, 7, 8, 9, "AB12" }; 66 Console.WriteLine("檢查變量b可容納的元素={0}", b.Capacity.ToString());//10 67 //通過對上面數據的測試,我們發現,""字符串的數據也只占用一個元素 68 69 //Count表示元素現在包含的元素的數量 70 //這里直接繼續使用a和b做對比 71 Console.WriteLine("檢查變量a目前存放的元素個數={0}",a.Count); 72 Console.WriteLine("檢查變量b目前存放的元素個數={0}",b.Count); 73 74 //Item[] 75 //即獲取指定索引處的元素。 76 //和數組的使用沒有區別 77 int i = 0; 78 Console.WriteLine("獲得a指定索引{0}處的數據={1}",++i,a[i]); 79 80 81 82 83 } 84 } 85 }