답변
당신이 중 하나를 사용할 수 있지만, 정식 방법은 가치를 그것을
string.Empty
이럴을 할당하는 가장 좋은 방법은 당신이 빈 문자열하려는 경우 String.Empty로로 할당하는 것입니다 (그리고 null이 아님).
문자열과 관련된 작업에 따라 다릅니다. ""로 설정하면 유효한 객체이므로 문자열을 기대하는 일부 함수에 전달할 때 null 참조 예외가 발생하지 않습니다. 그러나 (if) (if (str == null))을 수행 할 수있는 능력이 없어지고, 런타임은 문자열 비교를 수행하는 함수를 대신 호출합니다.
상황에 따라 다릅니다. 단순히 할당하려는 경우 문자열을 null로 두는 것이 좋습니다. 참조가 널이고 처음으로 널인지 확인하기를 원하지 않으면 추가 조치를 수행 할 컨텍스트에서이 참조를 사용하는 경우 빈 문자열이 더 나을 수 있습니다. 나는 문자열 매개 변수를 얻고 그것을 추출하고 싶을 때 종종 이것을 할 것이다. 빈 문자열이 유효한 값이 될 것입니다 당신이 법적 값으로 빈 문자열에서 잘못된 행동을 구별해야하는 경우
한편public string Foo(string bar)
{
bar = bar ?? string.Empty;
return bar.ToLower();
}
, 당신은 널두고 할 수 있습니다.
public string Foo(string bar)
{
return bar == null ? null : bar.ToLower();
}
마지막 줄은 return bar == null이어야합니까? null : bar.ToLower(); –
+1은 절대적으로 옳은 (* "의존적"*) 것이지만, -1은'this'를 참조하지 않을 때 정적 인 메소드를 만들지 않기 때문에 -1입니다. (농담, 여전히 +1을 얻습니다.) –
@tehMick - 편집 해 주셔서 감사합니다. 그게 내 안경을 쓰지 않기 위해 얻는 것입니다. 늙어가는 것은 정말 고통 스럽지만 대안이 될 수 있습니다. – tvanfosson
- 1. 큰 따옴표를 빈 문자열로 바꾸십시오. C#
- 2. 개체의 빈 문자열로 Null을 변환
- 3. Javascript는 빈 문자열로 특수 문자를 대체합니다.
- 4. NULL 값을 빈 문자열로 변경하려면 어떻게해야합니까?
- 5. PHP의 include_path - 빈 문자열로 설정하면 작동하지 않습니다.
- 6. 문자열이있는 경우 제출 문자열을 빈 문자열로 바꿉니다.
- 7. null 문자열을 빈 문자열로 변환하는 방법
- 8. BNF 재귀에서 기본 문자열로 빈 문자열이 있습니까?
- 9. setter를 지정해야합니까?
- 10. 기호를 내보낼 때 extern "C"를 지정해야합니까?
- 11. C 문자열로 작성
- 12. C libcurl이 문자열로 출력됩니다.
- 13. 문자열로 스위치 문을 C#
- 14. C# DateTime을 문자열로 변환
- 15. C# 문자열로 통화
- 16. C++에서 문자열로 작업하기
- 17. C# Xml 노드를 문자열로
- 18. java.util.Map의 이름을 어떻게 지정해야합니까?
- 19. C# 프로그램의 문자열로 스트림 바꾸기
- 20. python zlib을 C++ 문자열로 출력
- 21. C++ 현재 함수 이름을 문자열로
- 22. 빈 문자열을 쉼표로 구분 된 문자열로 대체하는 방법은 무엇입니까?
- 23. NULL이 아닌 모든 열을 빈 문자열로 업데이트하는 방법은 무엇입니까?
- 24. 바이트 배열을 BinaryReader를 통해 문자열로 압축하면 빈 문자열이됩니다.
- 25. 정의되지 않은 값을 빈 문자열로 변환하는 바로 가기가 ColdFusion에 있습니까?
- 26. CHAR을 NULL 또는 빈 문자열로 설정할 수 있습니까?
- 27. Datatree MUMPS - 정의되지 않은 변수를 null/빈 문자열로 해결 하시겠습니까?
- 28. jackson json null 문자열에서 빈 문자열로 serialize하는 방법
- 29. Castle Windsor : 매개 변수 값을 빈 문자열로 설정
- 30. PHP $ _SERVER [ 'REMOTE_ADDR']가 때때로 빈 문자열로 해석됩니다.
그래도 String.IsNullOrEmpty (str)로 테스트 할 수 있습니다 .... – klabranche
네,하지만 다른 함수 호출이 필요합니다. 이상적으로는 함수 호출이 필요없는 * null이 아닌지 확인하여 문자열에 값이 있는지 여부를 확인할 수 있어야합니다. – cHao
True @cHao하지만 문자열이 비어 있거나 null인지 여부를 제어/보장 할 수 있습니까? 종종 뭔가 다른 곳에서 입력되는 경우에는 그럴 수 없습니다.이 경우에는 방어적인 코드를 사용합니다. 물론 null이 아닌 빈 문자열은 코드에서 다른 의미를 나타냅니다. :-) – klabranche