C# 조건부 연산자 및 암시 적 유형 변환 문제
이 코드는 조건부 운영자 유형이 오페라 (1 및 0)에 의해 결정되기 때문에 실패합니다. C#은 이러한 문자 숫자를 유형으로 취급합니다. 따라서 연산자는
로 암시 적으로 변환 가능하며 ?:
> 결과 유형을 만듭니다.
<code class="language-csharp">byte aByteValue; bool aBoolValue = true; aByteValue = aBoolValue ? 1 : 0; // Error: Cannot implicitly convert type 'int' to 'byte'</code>
: 에 명시 적으로 시전하는 것입니다.
int
이 명시 적 캐스트는 조건부 표현식이 암시 적 변환 오류를 해결하여 A int
로 평가하도록합니다. 컴파일러는 이제 의도 한 유형을 이해하고 필요한 변환을 안전하게 수행합니다.
위 내용은 C#의 조건부 운영자와 암시 적 유형 변환이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!