C#知识整理

2019-12-30 16:21:45丽君

12.ArrayList : ①相当于一种高级的动态数组,Array类的升级版本.

            ②利于遍历数组,是一个很方便的容器类,可以存储任何引用类型或值类型.     


ArrayList arr = new ArrayList();
 ArrayList arr1 = new ArrayList(30); ==>可以添加到30以上 Student类
 arr.Add(12);  ==>定义int类型      Class Student                        {
 arr.Add(true); ==>定义bool类型       public int No { get; set; }   
 arr.Add("Hello"); ==>定义字符串类型       public string Name { get; set; }
 Student st = new Student(); ==>实例化Student类   }
 st.No = 1001; ==>给st中的No赋值
 st.Name = "zhangsan"; ==>给st中的Name赋值
 arr.Add(st);  ==>将st的值添加到arr中
 arr.RemoveAt(1); ==>删除数组中第二个
 arr.Insert(1, "World"); ==>插入数据World
 for (int i = 0; i < arr.Count; i++)
 {
 Console.WriteLine(arr[i]); ==>for循环便利数组
 }

13.Hashtable类型 : 两个参数影响其性能 ==> 初始容量、加载因子.


Hashtable ht = new Hashtable();
 ht.Add("0531","济南市");
 ht.Add("0532","青岛市");
 ht.Add("0536","潍坊市");
 ht.Add("0631","威海市"); 
 Console.WriteLine(ht["0531"]); ==>输出下标为0531的值,此处为"济南市";
 Console.WriteLine(ht.Count); ==>输出Hashtable数组的长度,此处为4;

14.ICollection类型 : 是IEnumerable的加强型接口,提供同步处理、赋值功能.


Hashtable ht = new Hashtable();
 ht.Add("0531","济南市");
 ht.Add("0532","青岛市");
 ht.Add("0536","潍坊市");
 ht.Add("0631","威海市"); 
 ICollection keys = ht.Keys; ==>获取Hashtable中所有的keys值,这里不是方法,所以keys后没括号
 foreach(string k in keys)
 {
 Console.WriteLine("{0}-----{1}",k,ht[k]);
 }

15.IEnumerator 迭代器(与Hashtable)


Hashtable ht = new Hashtable();
 ht.Add("0531","济南市");
 ht.Add("0532","青岛市");
 ht.Add("0536","潍坊市");
 ht.Add("0631","威海市");
 ICollection keys = ht.Keys; ==>获取Hashtable中所有的keys值,这里不是方法,所以keys后没括号
 IEnumerator ie = keys.GetEnumerator(); ==>返回访问集合的枚举数
 while(ie.MoveNext())  ==>枚举数推进到集合的下一元素 
 {
 Console.WriteLine(ie.Current); ==>获取集合中当前元素
 Console.WriteLine("{0}-----{1}",ie.Current,ht[ie.Current]);
 }

16.IEnumerator 迭代器(与ArrayList)