C# Dictionary 的操作集合
工作的需要用到了词典,所以对 Dictionary 进行了一次回归,毕竟以前惯用的是哈希,对于性能的比较,看了几篇文章,大家的第一反应都是 dictionary,毕竟是泛型.....;但是毕竟实践是证明真理的唯一标准。后面测试后会上对比结果。
//实例化 程序集:mscorlib 命名空间:using System.Collections.Generic; //其它常见属性和方法的说明: //Comparer:获取用于确定字典中的键是否相等的 IEqualityComparer。 //Count:获取包含在 Dictionary中的键/值对的数目。 //Item:获取或设置与指定的键相关联的值。 //Keys:获取包含 Dictionary中的键的集合。 //Values:获取包含 Dictionary中的值的集合。 //Add:将指定的键和值添加到字典中。 //Clear:从 Dictionary中移除所有的键和值。 //ContainsKey:确定 Dictionary是否包含指定的键。 //ContainsValue:确定 Dictionary是否包含特定值。 //GetEnumerator:返回循环访问 Dictionary的枚举数。 //GetType:获取当前实例的 Type。 (从 Object 继承。) //Remove:从 Dictionary中移除所指定的键的值。 //ToString:返回表示当前 Object的 String。 (从 Object 继承。) //TryGetValue:获取与指定的键相关联的值。 Dictionary<int, string> myDic = new Dictionary<int, string>(); //键是唯一 值可任意 myDic.Add(1, "小红"); myDic.Add(2, "小明"); myDic.Add(3, "小张"); myDic.Add(4, "小李"); //随意输出 这里需要注意的一点是[]里面对应的是健的值,并不是下标,这里不存在[0]的情况 输出值: //Console.WriteLine(myDic[1]); //通过KeyValuePair遍历元素 foreach (KeyValuePair<int, string> kvp in myDic) { //Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); } //紧遍历key foreach ( var key in myDic.Keys) { //Console.WriteLine("key={0}",key); } //紧遍历value foreach (var value in myDic.Values) { // Console.WriteLine("value={0}",value); } //获取指定键的值 string s = string.Empty; if (myDic.TryGetValue(2,out s)) { Console.WriteLine("s={0}",s); } Console.ReadLine();
对哈希(Hash)做了一些性能的测试,