C# 및 .NET
는 항상 참조 유형에 대해 별개의 객체를 생성 할 것으로 기대할 수 있습니다. 그러나 C#의 빈 문자열의 특수 처리는 동일한 객체를 참조하는
및 로 이어집니다.
new
nullable 유형과
이 코드 스 니펫은 무효 유형과의 수수께끼의 상호 작용을 강조합니다.
<code class="language-csharp">string x = new string(new char[0]); string y = new string(new char[0]); Console.WriteLine(object.ReferenceEquals(x, y)); // Prints True</code>
가 초기화 되더라도 new
를 호출하면 a x
를 던집니다. 가 무효 유형 (예 : )이면 y
에 대한 암묵적 권투는 널 값을 초래할 수 있기 때문에
.
null의 경우 인스턴스
이 시나리오는 덜 직관적 인 가능성을 보여줍니다
NullReferenceException
위 내용은 일부 C# 및 .NET 코너 사례가 기대에 어긋나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!