如何静态分配Dictionary <TKey,TValue>值

Row*_*ith 1 c# collections

如何将值静态分配给字典,其中值是另一个类/对象.比如下面的链接:C#:Dictionary <K,V>如何实现ICollection <KeyValuePair <K,V >>而没有Add(KeyValuePair <K,V>)?

class Settings
{
    public Dictionary<SettingKey, SettingItem> List =
        new Dictionary<SettingKey, SettingItem>()
    {
        {SettingKey.userDBName,{ theValue = "user-name", theID = 1 }},
        {SettingKey.realName,{ theValue = "real-name", theID = 2 }}   
    };
}

enum SettingKey
{
    userDBName,
    realName 
}

class SettingItem
{
    public string theValue { get; set; }
    public int theID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 5

您必须初始化对象:

public Dictionary<SettingKey, SettingItem> List =
    new Dictionary<SettingKey, SettingItem>()
{
    {SettingKey.userDBName, new SettingItem { theValue = "user-name", theID  = 1 }},
    {SettingKey.realName,   new SettingItem { theValue = "real-name", theID  = 2 }}   
};
Run Code Online (Sandbox Code Playgroud)