David_Wimbley
Итак, я предоставил 2 способа узнать, чего вы хотите. Просмотр любого ключа в appsettings независимо от имени ключа, а затем поиск конкретного значения ключа по имени ключа.
Мои настройки приложений:
<appSettings>
<add key="KeyList" value="123,234,345,456"/>
<add key="AnotherSetting" value="123,234,345,456"/>
</appSettings>
Поиск по всем ключам, чтобы найти любой ключ со значением 123
var allkeys = ConfigurationManager.AppSettings.AllKeys;
foreach (var key in allkeys)
{
var value = ConfigurationManager.AppSettings[key];
if (value.Contains("123"))
{
Console.WriteLine("My app setting has a value of 123 on key {0}", key);
}
}
Выбор ключа по указанному имени и проверка значения.
var specificKey = ConfigurationManager.AppSettings["KeyList"];
if (!string.IsNullOrEmpty(specificKey) && specificKey.Contains("123"))
{
Console.WriteLine("KeyList contains 123");
}
Затем, если вы уверены,что все ключи в ваших appsettings будут CSV. Вы можете сделать что-то вроде этого, чтобы найти любой ключ, содержащий 123 (не 123456).
var csvKey = ConfigurationManager.AppSettings.AllKeys;
foreach (var key in csvKey)
{
var values = ConfigurationManager.AppSettings[key].Split(',');
foreach (var item in values)
{
if (item == "123")
{
Console.WriteLine("My app setting has a value of 123 on key {0}", key);
}
}
}