Функция IIF, как делать для того, чтобы взял 2N + 1 аргументы логических выражений?, C#

В Visual Basic существуй - Функция IIF, в равного в Кристэле Репорт, и т.д....

В C# соответствующим образом не существует эта функция, но является тем же самым, что и делать что-то как это:

bool a = true;
string b = a ? "Verdadero" : "Falso";

Но для того, чтобы код был немного более легким для того, чтобы читать quisé делать это как функция для C#, оставаясь таким образом:

public static T IIf<T>(bool Condicion, T ParteVerdadera, T ParteFalsa) 
{
     return Condicion ? ParteVerdadera : ParteFalsa;
}

Или для того, чтобы он не действовал с реальной стоимостью также, возможно делать используя делегаты, чтобы соглашаться на необходимую стоимость:

public static T IIf<T>(bool Condicion, Func<T> ParteVerdadera, Func<T> ParteFalsa) 
{
    return Condicion ? ParteVerdadera() : ParteFalsa();
}

До сих пор это функционирует хорошо...


Но Как я могу изменять - функция для того, чтобы смог брать 2N + 1 аргументы?

(N - число логических определенных выражений)

Пример желанный результат:

int valor = IIf(Nombre = "Joel", 1, Nombre = "Pedro", 2, Nombre = "Maria", 3, 4);

Alguién может давать мне руку с этим?

Я прикрываю: C# - Визуальный Studio 2017

6
задан 22.07.2019, 22:46
0 ответов