null!
연산자의 의미
C# 8.0 및 null 허용 참조 유형 기능에서 !
연산자에는 "null 허용 연산자"라는 새로운 목적이 있습니다. 유형에 적용될 때 이 연산자는 값의 Null 허용 여부를 재정의하여 Null을 허용하지 않게 만듭니다. 즉, 기본적으로 Null을 허용하더라도 Null은 "Null이 아닌" 유형으로 처리됩니다.
실제예
LastName
속성이 null을 허용하고 MiddleName
속성이 null을 허용하지 않는 클래스를 생각해 보세요.
<code class="language-csharp">public class Person { public string? LastName { get; set; } public string MiddleName { get; set; } = null!; }</code>
첫 번째 줄과 두 번째 줄의 차이점
LastName
속성은 null을 허용하므로 ?
연산자로 표시되는 null 값을 보유할 수 있습니다. MiddleName
속성은 null을 허용하지 않으며 !
으로 표시됩니다. 이는 null 값을 보유할 수 없음을 의미합니다. 그러나 null!
표현식은 이러한 null 허용 여부를 명시적으로 무시하고 null을 null이 아닌 값으로 처리합니다. 기술적 설명
C# 8.0에는 모든 참조 유형이 기본적으로 null을 허용하지 않는 "null 안전성"이 도입되었습니다. nullable 유형을 나타내려면 ?
연산자를 사용해야 합니다. 반대로 !
연산자는 null 허용 여부를 나타내기 위해 null 허용 유형에 적용할 수 있습니다.
메모
!
연산자는 컴파일러 수준 검사만 비활성화합니다. 값이 null이면 런타임 예외가 계속 발생할 수 있습니다. 위 내용은 C# 8.0에서 `!`(Null-forgiving) 연산자는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!