Хранить массив строк в appSettings?

Я хотел бы сохранить одномерный массив строк в качестве записи в моих appSettings . Я не могу просто выделить элементы с помощью , или | потому что сами элементы могут содержать эти символы.

Я думал о том, чтобы хранить массив как JSON а затем десериализовать его с помощью JavaScriptSerializer .

Есть ли «правильный» / лучший способ сделать это?

(Моя идея JSON выглядит немного хаки)

Вы можете использовать AppSettings с помощью System.Collections.Specialized.StringCollection .

 var myStringCollection = Properties.Settings.Default.MyCollection; foreach (String value in myCollection) { // do something } 

Каждое значение разделяется новой строкой.

Вот скриншот (немецкая IDE, но в любом случае это может быть полезно)

введите описание изображения здесь

Для целых я нашел следующий путь быстрее.

Прежде всего создайте ключ appSettings с целыми значениями, разделенные запятыми в вашем app.config.

  

Затем разделите и преобразуйте значения в массив int с помощью LINQ

 int[] myIntArray = ConfigurationManager.AppSettings["myIntArray"].Split(',').Select(n => Convert.ToInt32(n)).ToArray(); 

Вы можете также рассмотреть возможность использования пользовательской секции конфигурации / коллекции для этой цели. Вот пример:

  

Вы также можете проверить эту превосходную надстройку Visual Studio, которая позволяет графически создавать разделы конфигурации .NET и автоматически генерировать для них весь необходимый код и определение схемы (XSD).

Для строк это просто, просто добавьте следующее в файл web.config :

  

и затем вы можете получить значение в массив следующим образом:

 var myArray = ConfigurationManager.AppSettings("myStringArray").Split(','); 
  • Шифрование Web.Config
  • Настройка перенаправления в файле web.config
  • Ошибка входа для пользователя «NT AUTHORITY \ NETWORK SERVICE»
  • Настройка строки подключения в ASP.NET для SQL SERVER
  • Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', превышающего уровень приложения
  • Преобразование Web.config работает локально
  • Как предотвратить перезапуск приложения ASP.NET при изменении web.config?
  • Программно зарегистрировать HttpModules во время выполнения
  • Как зашифровать одну запись в web.config
  • Настройка нескольких параметров SMTP в web.config?
  • Как сохранить словарь в моем файле web.config?
  • Давайте будем гением компьютера.