162 votes

Assemblage C #> Paramètres de l'application> Comment vérifier s'il en existe un?

Comment vérifier si un paramètre d'application est disponible?

c'est-à-dire app.config ==>

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key ="someKey" value="someValue"/>
  </appSettings>
</configuration>
 

et dans le fichier de code ==>

 if (ConfigurationManager.AppSettings.ContainsKey("someKey"))
{
  // Do Something
}else{
  // Do Something Else
}
 

91voto

Divyesh Patel Points 329
if (ConfigurationManager.AppSettings.AllKeys.Contains("myKey"))
{
    // Key exists
}
else
{
    // Key doesn't exist
}

2voto

John Craft Points 21

Si la clé que vous recherchez n'est pas présente dans le fichier de configuration, vous ne pourrez pas la convertir en chaîne avec .ToString () car la valeur sera null et vous obtiendrez une "référence d'objet non définie. à une instance d'un objet "erreur. Il est préférable de vérifier d'abord si la valeur existe avant d'essayer d'obtenir la représentation sous forme de chaîne.

 if (!String.IsNullOrEmpty(ConfigurationManager.AppSettings["myKey"]))
{
    String myKey = ConfigurationManager.AppSettings["myKey"].ToString();
}
 

Ou, comme le suggère Code Monkey:

 if (ConfigurationSettings.AppSettings["myKey"] != null)
{
// Now do your magic..
}
 

2voto

sam Points 11

Les options supérieures donnent de la souplesse à toutes les manières, si vous connaissez le type de clé, essayez de les analyser bool.TryParse(ConfigurationManager.AppSettings["myKey"], out myvariable);

2voto

mike gold Points 101

Je pense que l'expression LINQ peut être la meilleure:

    const string MyKey = "myKey"

   if (ConfigurationManager.AppSettings.AllKeys.Any(key => key == MyKey))
          {
              // Key exists
          }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X