将Dictionary添加到另一个Dictionary的值

时间:2015-07-31 07:22:11

标签: c# dictionary

我有以下场景::

public static class ServiceErrorCode
{
    public static IDictionary<string,Dictionary<int,string>> Mappings
    {
        get;
        private set;
    }
    static ServiceErrorCode()
    {
        Mappings = new Dictionary<string,Dictionary<int,string>>();
        Mappings.Add("Unauthorized", new Dictionary<int,string>().Add(103,"Test"));//Error is has some invalid arguments

}

任何人都可以帮助我如何实现上述目标,如果我想使用外部字典键(未授权)检索内部字典值(101和测试),那我该如何实现呢?

请帮忙。提前谢谢。

2 个答案:

答案 0 :(得分:3)

Add方法返回void - 因此您无法将其用作方法参数。但是,您可以使用集合初始值设定项:

Mappings.Add("Unauthorized", new Dictionary<int,string> { { 103, "Test" } });

大致相当于:

var tmp = new Dictionary<int,string>();
tmp.Add(103, "Test");
Mappings.Add("Unauthorized", tmp);

...但是收集初始化程序更容易阅读,IMO。

答案 1 :(得分:0)

Mappings.Add(“Unauthorized”,new Dictionary()); 映象[ “未授权”]添加(103, “测试”);