String.Empty 대 ""
중복 가능성 :
String.Empty와“”의 차이점은 무엇입니까?
와 어떻게 String.Empty
다른 ""
가요?
다르지 않습니다.
http://msdn.microsoft.com/en-us/library/system.string.empty.aspx :
이 필드의 값은 길이가 0 인 문자열 ""입니다.
응용 프로그램 코드에서이 필드는 문자열 변수를 빈 문자열로 초기화하기위한 할당에서 가장 일반적으로 사용됩니다. 문자열 값이 String.Empty인지 테스트하려면 IsNullOrEmpty 메서드를 사용합니다.
Brad Abrams 에 따르면 :
David가 암시 하듯이 String.Empty와 ""의 차이는 매우 작지만 차이가 있습니다. ""는 실제로 객체를 생성하지만 문자열 인턴 풀에서 꺼낼 가능성이 있지만 여전히 ... String.Empty는 객체를 생성하지 않습니다. 따라서 궁극적으로 메모리 효율성을 찾고 있다면 String.Empty를 제안합니다. 그러나 그 차이가 너무 삼중하므로 코드에서 결코 볼 수 없다는 것을 명심해야합니다.
System.String.Empty 또는 string.Empty 또는 String.Empty에 관해서는… 내 치료 수준이 낮습니다 ;-)
업데이트 (2015 년 6 월 3 일) :
2003 년의 위 인용문이 더 이상 사실이 아니라는 의견이 언급되어 있습니다 ( ""
실제로 객체를 생성하는 진술을 참조한다고 가정 합니다). 그래서 방금 C # 5 (VS 2013)로 몇 가지 간단한 콘솔 프로그램을 만들었습니다.
class Program
{
static void Main()
{
// Outputs "True"
Debug.WriteLine(string.IsInterned(string.Empty) != null);
}
}
class Program
{
static void Main()
{
// Outputs "True"
Debug.WriteLine(string.IsInterned("") != null);
}
}
이는 코드 실행이 시작될 때 ""
및 String.Empty
둘 다 인턴되어 있음을 보여줍니다. 즉 , 모든 실제 목적에서 동일하다는 것을 의미합니다.
Brad의 의견에서 가장 중요한 부분은 다음과 같습니다.
차이가 너무 삼중하므로 코드에서 결코 볼 수 없다는 것을 명심해야합니다 ...
그게 결론입니다. ""와 String.Empty 중에서 선택하는 것은 성능 기반 결정이 아닙니다. 그것에 대해 생각하는 데 많은 시간을 낭비하지 마십시오. 더 읽기 쉬운 항목이나 프로젝트에서 이미 사용중인 규칙에 따라 선택하십시오.
String.Empty is identical to ""
그러나 대부분의 경우 일반적으로 String.IsNullOrEmpty(str)
비교 하는 대신 사용하기가 더 쉽다고 생각합니다 str == "" || str == null
. .NET 4.0 String.IsNullOrWhiteSpace(str)
을 사용하는 경우에도 더 많은 경우를 다루며 훨씬 더 좋습니다.
다른 점이 없다. 일부는 String.Empty
코드 가독성을 위해 사용하는 것을 선호 합니다. 사용하기 편한 것을 사용하십시오.
string.Empty 는 항상 동일한 객체입니다.
"" 는 항상 새 개체이며 가비지 수집기에서 제거해야 할 수 있습니다.
따라서 항상 ""대신 string.empty를 사용해야합니다.
string a="";
string b=string.Empty;
번역하다
IL_0000: ldstr ""
IL_0005: ldsfld System.String.Empty
참고 URL : https://stackoverflow.com/questions/2905378/string-empty-versus
'IT박스' 카테고리의 다른 글
내 프로그램에서 사용하는 상수 그룹을 저장하는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.01 |
---|---|
세션없이 Spring Security를 어떻게 사용할 수 있습니까? (0) | 2020.09.01 |
uint32_t 및 size_t에 대한 printf 형식 지정자 (0) | 2020.09.01 |
고정 너비로 문자열을 인쇄하는 방법은 무엇입니까? (0) | 2020.08.31 |
JavaScript / JQuery에서 html 요소 객체를 복제 할 수 있습니까? (0) | 2020.08.31 |