ConfigurationManager.AppSettings ["blah"] lancera-t-il une exception si "blah" n'existe pas dans le web / app.config?
Excuses sincères pour la question super paresseuse.
.net
configuration
Ben Aston
la source
la source
NameValueCollection.Item
propriété ...Réponses:
Non, il revient
null
.la source
À partir de la documentation MSDN pour NameValueCollection.Item Property (String) :
la source
Non, il revient
null
.AppSettings est un NameValueCollection - conformément à la mise en garde sur la page NameValueCollection.Get :
la source
Non, il revient
null
.ConfigurationManager.AppSettings
est unNameValueCollection
- de la documentation MSDN :(mon emphase)
la source
D'autres réponses font référence à la documentation de la propriété Item. Il n'est peut-être pas immédiatement évident de savoir pourquoi ils sont pertinents en regardant l'extrait de code suivant.
La syntaxe entre crochets est utilisée en C # pour accéder aux indexeurs. Ce sont des propriétés spéciales qui permettent à une classe d'être indexée de la même manière qu'un tableau peut l'être. En regardant la définition de la propriété NameValueCollection.Item , vous remarquerez qu'elle n'utilise pas la syntaxe de propriété normale. Le mot clé this et les paramètres de l'indexeur sont utilisés pour définir cette propriété en tant qu'indexeur.
Dans la documentation, les indexeurs sont nommés implicitement Item et les paramètres sont entourés de crochets.
Je ne vois pas pourquoi il y avait des réponses qui faisaient référence à la méthode Get - peut-être que l'un appelle l'autre?
En tout cas, pour répondre à la question ...
Non. Une exception ne sera pas levée si vous accédez à une clé inexistante - un null sera renvoyé.
Voici la section pertinente de la documentation de la propriété NameValueCollection.Item .
la source
Oui http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
Edit: c'est clairement faux. À gauche pour les commentaires utiles ci-dessous.
la source
NameValueCollection
n'a pas pu être trouvé - c'est-à-dire que le système n'a pas trouvé de paramètres. Les collections de valeur de nom ne lèvent pas d'exception lorsque vous essayez de récupérer une valeur unique qui n'existe pas.