C# GetValueOrDefault(TKey):获取具有指定键的元素的值,或者如果该键不存在,则返回默认值

  • Post category:C#

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。