我有以下场景::
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和测试),那我该如何实现呢?
请帮忙。提前谢谢。
答案 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, “测试”);