c#如何取字典表的值_C#中关于字典(Dictionary)的使用

  • Post author:
  • Post category:其他


字典的取值

常用的取值方法有2种:

方法1:先判断是否存在,如果存在再进行取值if(aDictionary.ContainsKey(key))

{

var value = Dictionary[key];

}int value;

aDictionary.TryGetValue(key, out value);

项目中,如果只是要取值,推荐使用TryGetValue来获取。

原因:

方法1中ContainsKey执行了一次方法,Dictionary[key]再次执行了一次方法,整个取值过程调用了2次方法。而方法2的TryGetValue只调用了一次方法。当然并不是调用的方法越多越耗性能,看源码后就能理解。

方法1:

public bool ContainsKey(TKey key) {

return FindEntry(key) >= 0;

}

//Dictionary[key]取值原理

public TValue this[TKey key] {

get {

int i = FindEntry(key);

if (i >= 0) return entries[i].value;

ThrowHelper.ThrowKeyNotFoundException();

return default(TValue);

}

set {

Insert(key, value, false);

}

}

<



版权声明:本文为weixin_39710396原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。