浅谈:C#中的非泛型集合
1.首先:ArrayList:非泛型集合
List:泛型集合
集合跟数组比较我们更容易理解。数组:1,长度固定2,数据类型预先声明
集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为非泛型
ArrayList:1.类似于数组,称为数组列表;容量可以根据需要自动扩充,它的索引会根据程序的扩充而重新进行分配和调整,还提供一系列方法对其中的元素进行访问,添加和删除操作!
2.ArrayList的命名空间为Collections;
例如:
//值传递的引用传递 Student stu = new Student(); stu.Age = 18; //用一个方法更改学生年龄 changStudentAge(stu); Console.WriteLine(stu.Age); ArrayList list = new ArrayList(); list.Add("狗子"); list.Add("狍子"); list.Add("戏子"); //遍历 foreach (var item in list) { Console.WriteLine(item); } //移除 list.Remove("戏子"); //移除ArraylIST的指定索引除的下标 list.RemoveAt(1); //修改 list[0] = "瘸子"; Console.WriteLine("list.Remove=========="); foreach (var item in list) { Console.WriteLine(item); } ArrayList list = new ArrayList() { new SE(){Name = "你好"}, new SE(){Name = "BYANG"}, }; foreach (SE item in list) { Console.WriteLine(item.Name); }
总结:不管是非泛型或者泛型集合,长度都是不固定的。泛型是指集合元素类型限定了,
而非泛型集合元素类型为object类型,相当于任何类型都可以。
2.Hashtable:称为数据结构,通常称为哈希表,字典;是通过键(Key)和值(Value)来组织的,
属于Collections命名空间;
Hashtable的常用的属性:
Count:获取包含在Hashtable中的键/值对的数目
Keys:
获取包含在Hashtable中的键的对的集合
Values:获取包含在Hashtable中的值的集合
3.Hashtable的一些方法:
Hashtable table = new Hashtable(); table.Add("CBC","中国建设银行"); table.Add("IBC","中国农业银行"); table.Add("ICBC","中国工商银行"); foreach (string Key in table.Keys) { //获取值 Console.WriteLine(Key); //双列表如何 Console.WriteLine(table[Key]); } Console.WriteLine("删除之后================="); //删除 table.Remove("CBC"); foreach (string Key in table.Keys) { //获取值 Console.WriteLine(Key); //双列表如何 Console.WriteLine(table[Key]); } Console.ReadLine();