Visual Studio에서 새로 생성된 배열을 Null 허용으로 입력하는 이유는 무엇인가요?
C#에서 참조 유형의 변수에 var 키워드를 사용하면 C# 사양 제안에 지정된 대로 null 허용 참조 형식입니다. 즉, 다음과 같은 코드의 경우
var zeroBased = new TVal[size];
Visual Studio에서는 다음을 제안합니다.
TVal[]? zeroBased = new TVal[size];
? 연산자는 유형이 잠재적으로 널 입력 가능함을 나타냅니다. 그러나 new로 생성된 배열은 결코 null이 아니라고 가정할 수 있습니다. 따라서 다음과 같이 작성할 수 있습니다.
TVal[] zeroBased = new TVal[size];
그래서 C#에서 new로 인스턴스화된 배열이 null을 반환할 수 있습니까?
시나리오
One 배열이 null을 허용할 수 있는 시나리오는 배열이 null 허용 유형의 변수에 할당되는 경우입니다. 예:
TVal[]? nullableArray = new TVal[size];
이 경우 배열은 명시적으로 null을 허용하며 해당 값은 null로 설정될 수 있습니다.
또 다른 시나리오는 기본값을 사용하는 경우입니다. 유형. 배열의 경우 길이가 0이고 요소가 null인 배열을 의미합니다.
TVal[]? defaultArray = default;
따라서 배열을 생성할 때 명시적 유형을 사용하는 것이 좋습니다. 특히 null 허용 참조 유형을 사용하여 작업하는 경우 이를 방지하는 것이 좋습니다. 잠재적인 null 값.
위 내용은 Visual Studio가 C#에서 새로 생성된 배열에 대해 Null 허용 유형을 제안하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!