Visual Studio가 새 배열에 Null 허용 주석을 추가하는 이유는 무엇입니까?
C#에서 new로 배열을 초기화하면 일반적으로 null이 허용되지 않는 유형의 주석이 반환됩니다. 값. 그러나 Visual Studio(VS)의 빠른 수정을 사용하여 var를 명시적 유형으로 바꾼 후 배열 선언에 null 허용 주석(?)이 포함될 수 있습니다.
TVal[]? zeroBased = new TVal[size];
VS에서 추가한 이 주석은 이는 배열이 잠재적으로 null일 수 있음을 의미합니다.
C# 및 VS
Nullable 형식은 변수가 null을 허용하지 않는 값과 null 값을 모두 나타낼 수 있도록 C# 8.0에 도입된 참조 형식입니다. 프로젝트에서 Nullable이 활성화되거나 #nullable pragma가 사용되는 경우 VS는 var로 선언된 참조 유형 변수에 대해 nullable 참조 유형을 유추할 수 있습니다. 이 추론은 참조 유형인 배열에도 적용됩니다.
Nullable 주석의 이유
배열 선언의 nullable 주석은 VS의 코드 해석 결과입니다. . C# 사양에 따르면 var는 null 허용 컨텍스트가 활성화된 경우 참조 유형에 대해 null 허용 참조 유형을 유추합니다. 이는 var를 사용할 때 명확하지 않은 변수에 대한 잠재적인 null 할당을 방지하기 위한 것입니다.
영향 및 사용법
대부분의 경우 새로 생성된 배열은 불필요합니다. new로 초기화된 배열은 null이 아닌 것으로 보장됩니다. 그러나 나중에 코드에서 배열에 null을 할당하려는 경우 컴파일 오류를 방지하기 위해 null 허용 주석을 유지하는 것이 좋습니다.
결론
그 동안 새로 생성된 배열에 null 허용 주석이 있는 것이 중복된 것처럼 보일 수 있습니다. 이는 VS가 null 허용 컨텍스트에서 var에 대해 null 허용 유형을 유추한 결과입니다. new로 배열을 생성할 때 이 주석은 선택 사항이라는 점을 명심하세요. 그러나 이후에 배열에 null을 할당하려는 경우 유형 안전성을 보장하기 위해 주석을 유지하는 것이 도움이 될 수 있습니다.
위 내용은 Visual Studio가 C#에서 새로 생성된 배열에 Null 허용 주석을 추가하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!