В Perl (и других языках) условный троичный оператор можно выразить так:
my $foo = $bar == $buz ? $cat : $dog;
Есть ли подобный оператор в VB. СЕТЬ?
В Perl (и других языках) условный троичный оператор можно выразить так:
my $foo = $bar == $buz ? $cat : $dog;
Есть ли подобный оператор в VB. СЕТЬ?
Зависит от версии. Оператор If
в VB. NET 2008 является троичным оператором (а также оператором нулевого слияния). Это было только введено, до 2008 это не было доступно. Вот еще немного информации: Visual Basic Если объявление
Пример:
Dim foo as String = If(bar = buz, cat, dog)
iif всегда был доступен в VB, даже в VB6.
Dim foo as String = iif(bar = buz, cat, dog)
Это не настоящий оператор как таковой, но функция в Microsoft. Пространство имен VisualBasic.
Если () является ближайшим эквивалентом, но , остерегайтесь неявных преобразований, если вы установили «Option Strict off»
Например, если вы не осторожны, вы можете попробовать что-то вроде:
Dim foo As Integer? = If( someTrueExpression, Nothing, 2)
Даст "foo" значение 0!
Я думаю, что '? эквивалентный оператор в C # вместо сбоя компиляции