web / app.config에 “blah”가 없으면 ConfigurationManager.AppSettings [ “blah”]에서 예외가 발생합니까?
매우 게으른 질문에 대해 진심으로 사과드립니다.
답변
아니요,을 반환합니다 null
.
답변
로부터 NameValueCollection.Item 속성 (문자열)에 대한 MSDN 문서 :
주의
이 속성은 다음과 같은 경우에 null을 반환합니다. 1) 지정된 키를 찾을 수없는 경우; 2) 지정된 키가 발견되고 관련 값이 null 인 경우. 이 속성은 두 경우를 구분하지 않습니다.
답변
아니요,을 반환합니다 null
.
appSettings는은이다 NameValueCollection은 – 당으로 주의 온 NameValueCollection.Get의 페이지 :
이 메서드는 다음과 같은 경우에 null 참조 (Visual Basic의 경우 Nothing)을 반환합니다. 1) 지정된 키를 찾을 수없는 경우; 2) 지정된 키가 있고 관련 값이 null 참조 (Visual Basic의 경우 Nothing) 인 경우. 이 방법은 두 경우를 구분하지 않습니다.
답변
아니요,을 반환합니다 null
.
ConfigurationManager.AppSettings
A는 NameValueCollection
-에서 MSDN 설명서 :
Get 메서드는 지정된 키를 찾을 수 없기 때문에 반환되는 null과 키와 관련된 값이 null 이기 때문에 반환되는 null을 구분하지 않습니다 .
(내 강조)
답변
다른 답변은 Item 속성에 대한 설명서를 참조합니다. 다음 코드 스 니펫을 보면 왜 관련성이 있는지 즉시 명확하지 않을 수 있습니다.
ConfigurationManager.AppSettings["blah"]
대괄호 구문은 C #에서 인덱서에 액세스하는 데 사용됩니다. 이들은 배열과 같은 방식으로 클래스를 인덱싱 할 수있는 특수 속성입니다. NameValueCollection.Item 속성 의 정의를 살펴보면 일반 속성 구문을 사용하지 않는 것을 알 수 있습니다. this 키워드 및 인덱서 매개 변수는이 속성을 인덱서로 정의하는 데 사용됩니다.
public string this[
string name
] { get; set; }
문서에서 인덱서의 이름은 암시 적으로 Item이고 매개 변수는 대괄호로 묶여 있습니다.
Get 메서드 를 참조하는 답변이있는 이유가 명확하지 않습니다. 하나가 다른 하나를 호출 할 수도 있습니다.
어쨌든 질문에 답하기 위해 …
아니요. 존재하지 않는 키에 액세스하는 경우 예외가 발생하지 않으며 null이 반환됩니다.
다음은 NameValueCollection.Item 속성 설명서 의 관련 섹션입니다 .
이 속성은 다음과 같은 경우에 null을 반환합니다. 1) 지정된 키를 찾을 수없는 경우; 2) 지정된 키가 발견되고 관련 값이 null 인 경우. 이 속성은 두 경우를 구분하지 않습니다.
답변
예 http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
편집 : 이것은 분명히 잘못되었습니다. 아래의 유용한 의견을 남겨주세요.