GetValueOrDefault
是C#中Dictionary类的一个方法,用于获取指定键的值,如果该键不存在则返回该值类型的默认值。其方法原型为:
public static TValue GetValueOrDefault<TKey, TValue>(
this IDictionary<TKey, TValue> dictionary,
TKey key,
TValue defaultValue
)
其中,TKey和TValue代表字典的键和值的类型,dictionary是被查询的字典对象,key是要获取值的键,defaultValue是键不存在时返回的默认值。
使用GetValueOrDefault
方法,可以避免在获取字典值时出现键不存在的异常。下面是一些示例说明:
1.当键存在时,返回对应的值:
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("One", 1);
myDictionary.Add("Two", 2);
int value = myDictionary.GetValueOrDefault("One");
// value = 1
2.当键不存在时,返回默认值:
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("One", 1);
myDictionary.Add("Two", 2);
int value = myDictionary.GetValueOrDefault("Three");
// value = 0 (int类型的默认值)
值得注意的是:TValue是该字典的值类型,因此在使用时,需要保证defaultValue的类型与TValue一致,否则会出错。如果该字典的值类型是类的话,建议将defaultValue设置为null。