C#根本入门 九 调集
对付很多应用措施,需要创建和打点相关东西组,有两种方法可以将东西分组,一是创建东西数组,如
object[] obj=new object[3]{1,2.33,"string"}; foreach(object o in obj) { Console.WriteLine(o.Tostring()); //output:1 2.33 string }但是这样实现有一个错误谬误,数组的初始化必需要固定数量,即数组的长度必然是常量。所以需要调集。
创建和打点相关东西组的第二种方法就是创建东西调集。调集供给一种灵活的措置惩罚惩罚方法,与数组差别,,措置惩罚惩罚的东西组可按照措施变动的需要动态的增长和收缩,对付某些调集,您可以为放入该调集的任何东西分配一个“键”,以便使用该键快速检索东西。
调集是类,因此必需声明新调集后,才华向该调集中添加元素。
调集分为两种类型:非泛型调集和泛型调集
使用非泛型调集需要引入:System.Collections定名空间
使用泛型调集需要引入:System.Collections.Generic定名空间
System.Collections定名空间下的调集类
System.Collections.Generic定名空间下的调集类(图15)
Dictionary
Dictionary里面的每一个元素都是一个键值对(由二个元素构成:键和值) ,键必需是独一的,而值不需要独一的 ,键和值都可以是任何类型(好比:string, int, 自界说类型,等等) ;通过一个键读取一个值的时间是接近O(1) ,键值对之间的偏序可以不界说。
Dictionary类成员介绍:(图16)
Dictionary具体用法
public static void Main(string[] args) { Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("zxh",21); Dictionary<string, string> dic1 = new Dictionary<string, string>(); dic1.Add("张三", "李四"); int n; bool b=dic.TryGetValue("zxh", out n); Console.WriteLine(n); // bool b1 = dic.Remove("zxh"); // Console.WriteLine(b1); //遍历key foreach (string key in dic.Keys) { Console.WriteLine("Key = {0}", key); } //遍历value foreach (int value in dic.Values) { Console.WriteLine("value = {0}", value); } //遍历字典 foreach (KeyValuePair<string, int> kvp in dic) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); } }运行如下图所示(图17)