Чтение конфигов в словарь с гарантированным порядком - PullRequest
0 голосов
/ 01 июля 2019

У меня есть несколько конфигов внутри моего Appsettings.json, которые я хотел бы прочитать в словарь, что довольно легко с новым фреймворком.Вот как выглядит мой код:

Файл опций:

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

Конфиги:

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

Теперь я могу связать этот конкретный разделвнутри файла startup.cs, и все готово.

Из-за некоторых требований я должен изменить приведенный выше словарь на что-то вроде этого:

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

и новые настройки Configsкак это:

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

Я могу прочитать их в словарь, как и раньше, но я хотел бы знать, гарантированно ли порядок списка будет тот, который я указал, или он может быть случайным.Таким образом, в приведенном выше случае, для Ilist ключа == a, будет ли b1 всегда перед b2?

Я пробовал на своем локальном компьютере, и это работает, но это то, что гарантирует ядро ​​asp.net?

1 Ответ

0 голосов
/ 01 июля 2019

Это будет полностью зависеть от того, какую IList<T> реализацию вы выберете.Если вы используете List<T>, элементы будут добавлены в следующем порядке (если вы не вставите их в определенную позицию).Но произвольно IList<T> внутренне может делать все, что хочет, с порядком элементов, если оно реализует предоставленные методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...