以有保证的顺序将配置读入字典

时间:2019-07-01 17:49:03

标签: c# asp.net-core configuration

我的Appsettings.json中有一些配置,我想将其读入字典中,而使用新框架则相当容易。 这是我的代码:

选项文件:

public Dictionary<string, string> Mappings { get; set; }

配置:

Mappings: {
  "a":"b",
  "c":"d",
}

现在我可以将这个特定的部分绑定在startup.cs中,并且已经完成。

由于某些要求,我必须将上述字典更改为以下形式:

public Dictionary<string, IList<string>> Mappings { get; set; }

新配置如下:

Mappings: {
  "a":["b1","b2],
  "c":["d"],
}

我可以像以前一样将它们读入字典,但是我想知道列表的顺序是否一定是我指定的顺序,或者可以是随机的。因此,在上述情况下,对于键== a的Ilist,b1是否总是在b2之前?

我在本地尝试过并且可以正常工作,但是asp.net核心保证了吗?

1 个答案:

答案 0 :(得分:0)

这将完全取决于您选择的IList<T>实现。如果您使用List<T>,则这些项目将按照添加的顺序排列(除非您将它们插入特定位置)。但是,任意IList<T>在内部可以实现项目顺序所需的任何操作,只要它实现了提供的方法即可。