Как проверить, доступна ли настройка приложения?
то есть app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="someKey" value="someValue"/>
</appSettings>
</configuration>
и в кодовом файле
if (ConfigurationManager.AppSettings.ContainsKey("someKey"))
{
// Do Something
}else{
// Do Something Else
}
c#
appsettings
configurationmanager
bitcycle
источник
источник
Dim configValue As String = Util.IsNull(ConfigurationManager.AppSettings.Get("SettingName"), String.Empty)
источник
Безопасно вернул значение по умолчанию через дженерики и LINQ.
Используется следующим образом:
источник
ConfigurationManager.AppSettings
не чувствителен к регистру,Any(key => key == MyKey
однакоusing System.ComponentModel;
оператор в ваш класс для поддержки использованияTypeDescriptor
класса.источник
Если искомый ключ отсутствует в файле конфигурации, вы не сможете преобразовать его в строку с помощью .ToString (), поскольку значение будет нулевым, и вы получите «Ссылка на объект не установлена» к экземпляру объекта "ошибка. Лучше сначала проверить, существует ли значение, прежде чем пытаться получить строковое представление.
Или, как предложил Code Monkey:
источник
Верхние параметры дают гибкость во всех отношениях, если вы знаете тип ключа, попробуйте их проанализировать
bool.TryParse(ConfigurationManager.AppSettings["myKey"], out myvariable);
источник
Я думаю, что выражение LINQ может быть лучшим:
источник
ConfigurationManager.AppSettings
не чувствителен к регистру,Any(key => key == MyKey
однакоМне понравился ответ codebender , но он нужен для работы в C ++ / CLI. Это то, что я закончил. Там нет использования LINQ, но работает.
источник
Использование нового синтаксиса c # с TryParse хорошо для меня:
источник