반환 값을 찾아야 할 때 반환 값이 없으면 예외가 반환됩니다. 찾을 수 값이 때로는 예상하지 않은 경우 경우 (캐릭터를 할 때반환 값에 대한 시나리오
, 나는이 유효한 문자열의 가정을 피할 것 (null를 돌려! = "")
하는 방법에 대한이 유효 복귀 시나리오는 어떤 문자열을 반환?
감사
반환 값을 찾아야 할 때 반환 값이 없으면 예외가 반환됩니다. 찾을 수 값이 때로는 예상하지 않은 경우 경우 (캐릭터를 할 때반환 값에 대한 시나리오
, 나는이 유효한 문자열의 가정을 피할 것 (null를 돌려! = "")
하는 방법에 대한이 유효 복귀 시나리오는 어떤 문자열을 반환?
감사
개인적으로 이런 식으로 프로그램 흐름에 대한 예외 사용을 피할 것입니다. 계속할 수없는 상황에 대해서는 예외를 예약해야합니다.
또한, 문자열 테스트를 위해 내가 string.IsNullOrEmpty을 사용하십시오
우리는 발견되지 않는 값이 처리를 중지해야만하는 (* 예외가 적절한 경우) 또는 합법적 인 상황인지 여부를 알 수있는 충분한 정보가 없다 (이 경우에는 그렇지 않을 수도 있음) . –
물론,하지만 여전히 오히려 반환 값을 요청한 코드를 던져 넣을 것입니다. 코드를 가져 오는 코드가 아닙니다. YMMV. – Cronan
시나리오에 따라 다릅니다. 여기에 충분한 정보가 부족합니다. * 항상 * 오류가있는 경우 모든 단일 발신자에게이 체크를 강제로 적용해야하는 이유는 무엇입니까? 파일을 찾을 수 없으면'File.Open'이'null'을 리턴할까요? –
이 응용 프로그램의 설계에 전적으로 의존하지만,에 (매우) 넓은 의미, 그래,이 반환 값은 할 의미.
그러나 어느 경우에 , 모두 문서화했는지 확인하십시오. 반환 케이스의 명확하게.
음 ... 방법은 당신이하고 싶은 일을합니까? 그렇다면 유효합니다. – Msonic
유효하지 않은 값이없는 경우 빈 문자열을 반환합니다. 그런 다음 반환 된 문자열의 길이를 if (foo.Length> 0)로만 확인하면됩니다. 또는 String.IsNullOrEmpty (foo)를 사용하여 두 값을 잡을 수 있습니다. 이 중 하나가 str! = ""보다 낫습니다. – DOK
그래, 항상 string.IsNullOrEmpty를 선호하고 이것을 사용하는 지점을 만듭니다. – dotnetdev