簡體   English   中英

返回默認值。 (C#)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM