В Visual Basic существуй - Функция IIF, в равного в Кристэле Репорт, и т.д....
В C# соответствующим образом не существует эта функция, но является тем же самым, что и делать что-то как это:
bool a = true;
string b = a ? "Verdadero" : "Falso";
Но для того, чтобы код был немного более легким для того, чтобы читать quisé делать это как функция для C#, оставаясь таким образом:
public static T IIf(bool Condicion, T ParteVerdadera, T ParteFalsa)
{
return Condicion ? ParteVerdadera : ParteFalsa;
}
Или для того, чтобы он не действовал с реальной стоимостью также, возможно делать используя делегаты, чтобы соглашаться на необходимую стоимость:
public static T IIf(bool Condicion, Func ParteVerdadera, Func 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