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 }

 

posted @ 2020-09-11 16:19  想活出点人样  阅读(728)  评论(0编辑  收藏  举报