【前言】
数组,ArrayList、List这三个对于C#来说,是非常非常重要的,相信敲过代码的您,能感觉到。那么想一下,他们三个之间有什么联系,又有什么关系呢?
【主体】
1.数组
int [] nums = new int [10]
数组已经国定了长度和类型了。 它是如果添加数据的呢?
int [] nums = new int [10];
nums[1] = 10;
nums[2]=32;
它是通过这样添加数据的,那么现在想想如果在1,2之间添加数据,或者不限制数据的类型行不行?
数组可能会受到了限制,于是引入了ArrayList.
2.ArrayList
ArrayList a = new ArrayList();
在写ArrayList的时候,是需要导入命名空间的,如何导入命名空间?
用“Alt + Enter”快捷键即可。
(1)那么它如何添加数据呢?
a.Add(32); 它需要用到了Add的方法,并且添加的类型不受限制,添加的内容也不受限制。
(2)再考虑一个问题,能不能在这个集合中添加一个类?
当然可以。首先我们需要声明一个类,
Person p = new Person();
ArraryList.Add(p)或者ArrayList(new Person())
if(arrayList[i] is Persons)
{
((Person)arrayList[i].Show();
}
else
{
Console.writelie(arraylist[i]);
}
(3)如果往里面添加集合呢?
int [] nums = new int[] {1,2,4,5}
a.Add(nums) 这其实算是一个
如果用AddRange(nums)这就把里面的数据就全部遍历了出来,算4个。
AddRange里面不能放数字,因为它和接口有关。
也可以这样添加数据:ArrayList a = new ArrayList();
所以总结一下往集合里面添加数据的三种方式:
(1)通过构造函数可以添加一个数组。
(2)通过Add()方法可以添加数组,----但是算成一个元素
(3)通过AddRange()也可以添加数组,
(4)方法
Insert
往某个下标的位置插入一个值
Clear()清空
Contain(1)判断集合有没有。
arrayLIst 存里面的数据都是object 如果拿出来还需要转换。还需要导入命名空间。
三、List
为了解决ArrayList上面的不足,于是有了List
List<> list= new List<>();
知道存什么类型,但不知存多少个。
Max
Min
Sum
Average
Indexof检索
.Tostring
等方法,其实基本上和ArrayList的方法一样。