¿Cómo verifico si hay una Configuración de aplicación disponible?
es decir, app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="someKey" value="someValue"/>
</appSettings>
</configuration>
y en el archivo de código
if (ConfigurationManager.AppSettings.ContainsKey("someKey"))
{
// Do Something
}else{
// Do Something Else
}
c#
appsettings
configurationmanager
bitcycle
fuente
fuente
Dim configValue As String = Util.IsNull(ConfigurationManager.AppSettings.Get("SettingName"), String.Empty)
fuente
Valor predeterminado devuelto de forma segura a través de genéricos y LINQ.
Usado de la siguiente manera:
fuente
ConfigurationManager.AppSettings
sinAny(key => key == MyKey
embargo , nousing System.ComponentModel;
declaración a su clase para apoyar el uso de laTypeDescriptor
clase.fuente
Si la clave que busca no está presente en el archivo de configuración, no podrá convertirla en una cadena con .ToString () porque el valor será nulo y obtendrá una "Referencia de objeto no establecida a una instancia de un objeto "error. Es mejor ver primero si el valor existe antes de intentar obtener la representación de cadena.
O, como sugirió Code Monkey:
fuente
Las opciones superiores ofrecen flexibilidad en todos los aspectos, si conoce el tipo de clave, intente analizarlas
bool.TryParse(ConfigurationManager.AppSettings["myKey"], out myvariable);
fuente
Creo que la expresión LINQ puede ser mejor:
fuente
ConfigurationManager.AppSettings
es no entre mayúsculas y minúsculas,Any(key => key == MyKey
sin embargo, esMe gustó la respuesta de codebender , pero necesitaba que funcionara en C ++ / CLI. Esto es con lo que terminé. No hay uso de LINQ, pero funciona.
fuente
Usar la nueva sintaxis de C # con TryParse funcionó bien para mí:
fuente