Есть ли версия сокращенного If-Then-Else в С# (cond? A: b), в VB.Net?
Возможный дубликат:
Есть ли условный тернарный оператор в VB.NET?
Есть ли версия сокращенного If-Then-Else в С#:
c = (a > b) ? a : b;
Значение...
if (a > b) {
c = a; }
else {
c = b; }
.. в VB.Net?
Ответы
Ответ 1
Вы хотите использовать Оператор if:
Dim maximum = If(a > b, a, b)
Также существует более старая функция Iif, но If
превосходит, так как она:
- выполняет вывод типа (если
a
и b
являются целыми числами, возвращаемое значение будет целым числом вместо объекта) и
- сокращает операцию (если
a > b
, оценивается только a
и наоборот) - это имеет значение, если a
или b
является вызовом функции.
Ответ 2
Да IF
- это то, что вы хотите
Вот несколько ссылок
http://msdn.microsoft.com/en-us/library/bb513985
Вот его использование
c = IF(a > b, a , b)
Очевидно, был оператор IIF, но он устарел.