[英]Returning a default value. (C#)
我正在創建自己的字典,但我在實現TryGetValue函數時遇到了問題。 當找不到密鑰時,我沒有任何東西要分配給out參數,所以我保持原樣。 這會導致以下錯誤:“必須在控制離開當前方法之前將out參數'value'分配給”
所以,基本上,我需要一種方法來獲取默認值(0,false或nullptr取決於類型)。 我的代碼類似於以下內容:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
return false;
}
....
}
您正在尋找default
關鍵字。
例如,在您給出的示例中,您需要以下內容:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
value = default(V);
return false;
}
....
}
default(T)
return default(int);
return default(bool);
return default(MyObject);
所以在你的情況下你會寫:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
... get your value ...
if (notFound) {
value = default(V);
return false;
}
}
....
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.