【译文】C# 集合之:C# 字典

C# 字典

原文:C# Tutorial and source code




如何用C# 的字典Dictionary

字典Dictionary 类是存储键值对的集合数据结构。键( key)是键值对的id标识,在字典中至少有一个值,但是一个值可以和多个键相关联。

这个类在System.Collections.Generic 命名空间中定义,所以需要引入System.Collections.Generic 命名空间。

using System.Collections.Generic

语法:

Dictinary<TKey,TValue>

参数 :

TKey – 字典中键的类型        TValue – 字典中值的类型

例如

Dictionary<string,string>

Dictionary<string,int>

添加值到字典

字典的Add方法有两个参数,一个键和一个值。

语法:

public void Add(TKey key,TValue value)

例子

dictionary.Add(“dozen”,12);

字典中键不能为null,但是当TValue是引用类型时,值可以为null。

Dictionary dict = new Dictionary();

dict.Add(“one”, 1);

dict.Add(“two”, 2);

dict.Add(“three”, 3);

dict.Add(“four”, 4);

获得键值对

使用foreach 循环获得键值对。

foreach (KeyValuePair pair in dict){

MessageBox.Show(pair.Key.ToString ()+ ”  –  ”  + pair.Value.ToString () );

}

查找一个键

使用ContainsKey 方法在字典中查找一个键是否存在。ContainsKey 计算参数的哈希编码值(hashcode),并且在字典中的结构中检查。

if (dict.ContainsKey(“four”) == true){

MessageBox.Show(dict[“four”].ToString ());

}else{

MessageBox.Show(“Key does not exist”);

}

遍历字典

有许多方法可以遍历一个字典。

字典Dictionary 和哈希表HashTable的对比

字典Dictionary是属类型的,而哈希表不是。意味着字典是类型安全的,你不能随便插入随机的对象到字典里,也不能任意转换获得的值。字典和哈希表都内置了哈希表,根据键可以快速的访问元素项,同样两者都需要不变的和唯一的键。

字典Dictionary 和列表List的对比

列表和字典都用来存储数据集合。字典是基于哈希表的,基于哈希表查找,是非常有效率的;另一方面,列表的查找需要遍历列表的元素。

下面是完整的代码,用来演示在字典中添加和获得键值对。

Dictionary < string, int > dict = new Dictionary < string, int > ();
dict.Add("one", 1);
dict.Add("two", 2);
dict.Add("three", 3);
dict.Add("four", 4);

foreach (KeyValuePair < string, int >  pair in dict)
{
	MessageBox.Show(pair.Key.ToString() + "  -  " + pair.Value.ToString());
}

本文译自http://csharp.net-informations.com/

更准确内容,请访问作者原文。

此条目发表在程序开发分类目录,贴了, , 标签。将固定链接加入收藏夹。