C# ArrayList 的三个属性 Capacity Count Item[]
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 }
悟已往之不谏,知来者之可追