O ConfigurationManager.AppSettings ["blah"] lançará uma exceção se "blah" não existir no web / app.config?
Desculpas sinceras pela pergunta super preguiçosa.
.net
configuration
Ben Aston
fonte
fonte
NameValueCollection.Item
propriedade ...Respostas:
Não, ele retorna
null
.fonte
Na documentação do MSDN da propriedade NameValueCollection.Item (String) :
fonte
Não, ele retorna
null
.AppSettings é um NameValueCollection - conforme o cuidado na página NameValueCollection.Get :
fonte
Não, ele retorna
null
.ConfigurationManager.AppSettings
é umNameValueCollection
- da documentação do MSDN :(minha ênfase)
fonte
Outras respostas fazem referência à documentação da propriedade Item. Pode não ser imediatamente óbvio por que eles são relevantes para o seguinte trecho de código.
A sintaxe entre colchetes é usada em C # para acessar indexadores. Essas são propriedades especiais que permitem que uma classe seja indexada da mesma maneira que uma matriz pode ser. Observando a definição da propriedade NameValueCollection.Item , você notará que ela não usa a sintaxe da propriedade normal. Os parâmetros this keyword e indexer são usados para definir essa propriedade como um indexador.
Na documentação, os indexadores são implicitamente denominados Item e os parâmetros são colocados entre colchetes.
Não está claro para mim por que houve respostas que referenciaram o método Get - talvez um chame o outro?
De qualquer forma, para responder à pergunta ...
Não. Uma exceção não será lançada se você acessar uma chave inexistente - um nulo será retornado.
Aqui está a seção relevante da documentação da propriedade NameValueCollection.Item .
fonte
Sim http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
Edit: isso está claramente errado. Esquerda para os comentários úteis abaixo.
fonte
NameValueCollection
não for encontrada - ou seja, o sistema não encontrou nenhuma configuração. Nome Valor coleções não uma exceção quando você tenta recuperar um único valor que não existe ..