3 ответов:
зависит от версии. Элемент
Ifоператор in 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# вместо этого приведет к сбою компиляции
Comments