C# c语言中字典的默认值#

C# c语言中字典的默认值#,c#,asp.net-mvc,dictionary,C#,Asp.net Mvc,Dictionary,我有以下PageViewModel类: public class PageViewModel : ViewModel<Page> { public PageViewModel () { Kywords = new List<Keyword>(); AnswserKeywordDictionary = new Dictionary<string, Answer>(); }

我有以下PageViewModel类:

public class PageViewModel : ViewModel<Page>
{
 public PageViewModel ()
        {
            Kywords = new List<Keyword>();
            AnswserKeywordDictionary = new Dictionary<string, Answer>();
        }
        public Company Company { get; set; }
        public List<Keyword> Kywords { get; set; }
        public Dictionary<string, Answer> AnswserKeywordDictionary { get; set; }
}
我的问题是:如果字典中没有“myKey”,如何返回默认值


提前感谢

检查它是否存在,如果不存在,则返回默认值:

Model.AnswserKeywordDictionary.ContainsKey("myKey")
    ? Model.AnswserKeywordDictionary["myKey"]
    : "default"
您还可以为此创建扩展方法:

    public static Dictionary<K, V> GetValueOrDefault<K, V>(this Dictionary<K, V> dictionary, K key, V defaultValue)
    {
        V val;
        if (dictionary.TryGetValue(key, out val))
        {
            return val ?? defaultValue;
        }

        return defaultValue;
    }

检查是否存在,如果不存在,则返回默认值:

Model.AnswserKeywordDictionary.ContainsKey("myKey")
    ? Model.AnswserKeywordDictionary["myKey"]
    : "default"
您还可以为此创建扩展方法:

    public static Dictionary<K, V> GetValueOrDefault<K, V>(this Dictionary<K, V> dictionary, K key, V defaultValue)
    {
        V val;
        if (dictionary.TryGetValue(key, out val))
        {
            return val ?? defaultValue;
        }

        return defaultValue;
    }

使用以下方法提取词典:

public Dictionary<string, Answer> AnswserKeywordDictionary { get; set; }
public GetAnswer(string key, Answer defaultValue)
{
   if(AnswserKeywordDictionary.ContainsKey(key)
       return AnswserKeywordDictionary[key];
   return defaultValue;
}

使用以下方法提取词典:

public Dictionary<string, Answer> AnswserKeywordDictionary { get; set; }
public GetAnswer(string key, Answer defaultValue)
{
   if(AnswserKeywordDictionary.ContainsKey(key)
       return AnswserKeywordDictionary[key];
   return defaultValue;
}

感谢您的响应,但我不使用调用方法,我想要自动返回默认值的东西。像get-in-properties一样,添加链接问题中建议的扩展方法。感谢您的响应,但我不使用调用方法,我想要自动返回默认值的方法。比如get-in-properties按照链接问题中的建议添加一个扩展方法。我不希望每次都使用ceck,我要找的是使用get返回值时的情况我不希望每次都使用ceck,我要找的是使用get返回值时的情况