今天在网上看文章,突然看到了有文章用了Dictionary这个东西,恩,第一次看到,不知道什么东西,并且语法和和别的用法不一样,百思不解,于是找来MSDN看了看,看了才知道,原来是实现IColletion接口的东西,恩,这到没什么,但是我发现一个好功能,这个功能就是类似Hashtable的功能,其实也是对应的Key和Value对应的一对,但是Key和Value的对象都是Colletion,并且和Hashtable一样提供了Add方法,在lookup的时候通 过ContainsKey或是ContainsValue来标识是否有值,这个就是对应Hashtable或是Map的look方法了吧,恩,没用过所以 不知道对应的接口是什么。在Dictionary中取值的时候也比hashtable智能了些,是通过TryGetValue(string Key,out Value),返回值是一个bool类型,呵呵,比hashtable好吧,恩,当然类似其他的什么Clear啊Remove啊那当然是要提供的,在使用 的时候我觉得比hashtable功能要强大,而且凭直觉我觉得是比table和map效率要高的,并且代码更安全,所以我觉得这个应该是替代 hashtable和hashmap这两个东西的,呵呵,因为我对hashtable和hashmap认识并不多,什么根本没用过,只是听别人说过,恩, Dictionary的语法初次见比较怪,我把我自己测试的代码发上来。
string strValue = string.Empty; //key
int intValue; //key对应的值
strValue = this.textBox1.Text.Trim();//得到文本框输入的key值
//从Dictionary中取得数据
if (Test(strValue, out intValue) == true)
{
//取得成功的场合
MessageBox.Show(intValue.ToString());
}
else
{
//取得事败的场合
MessageBox.Show("This key has not found!");
}
/// <summary>
/// 从Dictionary中取得数据
/// </summary>
/// <param name="strValue"></param>
/// <param name="intValue"></param>
/// <returns></returns>
private bool Test(string strValue,out int intValue)
{
//声明一个Dictionary对象,key和Value为string和int类型
System.Collections.Generic.Dictionary<string, int> dia = new System.Collections.Generic.Dictionary<string, int>();
//TODO
//测试用数据
dia.Add("jiajunyong", 555);
//返回结果
return dia.TryGetValue(strValue, out intValue);
}