¿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.AppSettingssinAny(key => key == MyKeyembargo , nousing System.ComponentModel;declaración a su clase para apoyar el uso de laTypeDescriptorclase.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.AppSettingses no entre mayúsculas y minúsculas,Any(key => key == MyKeysin 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