>백엔드 개발 >C++ >왜`?? 10 : null` null` null`cly 널 유형의 C# Ternary 연산자에서 금지 된?

왜`?? 10 : null` null` null`cly 널 유형의 C# Ternary 연산자에서 금지 된?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-28 21:51:10174검색

C#Ternary 컴퓨팅 및 빈 유형 : 왜 Why is `? 10 : null` Forbidden in C# Ternary Operators with Nullable Types?
오류를보고합니까? <..> C#에서 사용 가능한 유형을 사용할 때 표현식의 유형 일관성이 매우 중요합니다. 조건에 따라 두 표현식을 평가하면 첫 번째 표현식의 결과가 반환됩니다. 그렇지 않으면 두 번째 표현식의 결과가 반환됩니다.

다음 코드 조각을 고려하십시오 <p> <try> 여기서, 우리는 int와 null을 케이블 int 변수 x에 할당하려고합니다. 이 두 유형 사이에 숨겨진 변환이 없기 때문에 컴파일러 오류가 발생할 수 있습니다. <strong> <er> 컴파일러는 먼저 올바른 표현을 평가하려고 시도합니다. <code>? 10 : null 리터럴 10은 int 유형이고 NULL은 빈 유형입니다. 둘 사이에 숨겨진 변환은 없으므로 오류가 발생합니다. 이 문제를 해결하기 위해 유형 일관성을 보장하기 위해 명시적인 변환을 수행 할 수 있습니다.

또는 빈 단어 표면을 int로 변환 할 수 있습니까? :

또는 기본 키워드를 사용할 수 있습니다

유형의 일관성을 보장함으로써 컴파일러 오류를 피하고 유형의 완전성을 유지할 수 있습니다.

위 내용은 왜`?? 10 : null` null` null`cly 널 유형의 C# Ternary 연산자에서 금지 된?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.