返回默认值。 (C#)

我正在创建自己的字典,但我无法实现TryGetValue函数。 当找不到密钥时,我没有任何东西要分配给out参数,所以我保持原样。 这会导致以下错误:“必须在控制离开当前方法之前分配out参数’value’”

所以,基本上,我需要一种方法来获取默认值(0,false或nullptr取决于类型)。 我的代码类似于以下内容:

class MyEmptyDictionary : IDictionary { bool IDictionary.TryGetValue (K key, out V value) { return false; } .... } 

您正在寻找default关键字。

例如,在您给出的示例中,您需要以下内容:

 class MyEmptyDictionary : IDictionary { bool IDictionary.TryGetValue (K key, out V value) { value = default(V); return false; } .... } 
 default(T) 
 return default(int); return default(bool); return default(MyObject); 

所以在你的情况下你会写:

 class MyEmptyDictionary : IDictionary { bool IDictionary.TryGetValue (K key, out V value) { ... get your value ... if (notFound) { value = default(V); return false; } } .... 

}