在C#中,TryGetValue
方法用于嘗試從字典(Dictionary)或集合(Dictionary-like collection)中獲取一個值,如果鍵不存在,則返回默認值。雖然TryGetValue
方法已經很簡潔了,但你仍然可以使用擴展方法(extension method)來進一步簡化代碼。
下面是一個使用擴展方法的示例:
public static class DictionaryExtensions
{
public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key, TValue defaultValue)
{
return dictionary.TryGetValue(key, out TValue value) ? value : defaultValue;
}
}
使用這個擴展方法后,你可以像下面這樣簡化TryGetValue
的調用:
var dictionary = new Dictionary<string, int>
{
{ "apple", 1 },
{ "banana", 2 }
};
int value = dictionary.GetValueOrDefault("apple", 0); // value will be 1
int nonExistentValue = dictionary.GetValueOrDefault("orange", 0); // value will be 0
這樣,你就可以通過調用GetValueOrDefault
方法來簡化TryGetValue
的用法。