Есть ли версия сокращенного 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, но он устарел.