Perl (및 기타 언어)에서 조건부 삼항 연산자는 다음과 같이 표현 될 수 있습니다.
my $foo = $bar == $buz ? $cat : $dog;
VB.NET에 비슷한 연산자가 있습니까?
답변
버전에 따라 다릅니다. If
VB.NET 2008 의 연산자는 3 진 연산자 (널 병합 처리 연산자)입니다. 이것은 2008 년 이전에 소개되었지만 사용할 수 없었습니다. 추가 정보는 다음과 같습니다. Visual Basic If 공고
예:
Dim foo as String = If(bar = buz, cat, dog)
[편집하다]
2008 년 이전에는 위에서 설명한 운영자 IIf
와 거의 동일하게 작동했습니다 If
.
예:
Dim foo as String = IIf(bar = buz, cat, dog)
답변
iif는 VB6에서도 가능합니다.
Dim foo as String = iif(bar = buz, cat, dog)
이는 실제 연산자가 아니라 Microsoft.VisualBasic 네임 스페이스의 함수입니다.
답변
If ()가 가장 비슷하지만 주의하십시오 “Option Strict off”를 설정 한 경우 암시 적 변환이 진행되는 것을
예를 들어, 조심하지 않으면 다음과 같은 시도를 할 수 있습니다.
Dim foo As Integer? = If( someTrueExpression, Nothing, 2)
“foo”에 0의 값을 줄 것이다!
내 생각 엔 ‘?’ C #에서 동등한 연산자가 컴파일에 실패합니다.