IIF-Äquivalent in C#
Dieses Tutorial zeigt, wie Sie das IIF-Äquivalent in C# und anderen Alternativen verwenden.
IIF
steht für immediate if
und ist in der Programmiersprache Visual Basic verfügbar. In einer einzelnen Zeile können Sie eine bestimmte Bedingung übergeben und die Werte angeben, die zurückgegeben werden sollen, wenn die Bedingung wahr oder falsch ist.
IIF(condition, True, False)
Während C# kein genaues Äquivalent dazu hat, können Sie das ?
Operator.
C# ?
Operator
Ein ternärer Operator, allgemein auch als Bedingungsoperator bekannt, ist ein Operator, der drei Operanden anstelle der üblichen ein oder zwei akzeptiert, die die meisten Operatoren verwenden. In diesem Fall wird das ?
Operator vereinfacht einen if-else-Block. Die allgemeine Struktur der Verwendung des ?
Betreiber ist wie folgt:
string string_val = (anyBool ? "Value if True" : "Value if False");
Beispiel:
using System;
using System.Collections.Generic;
namespace StringJoin_Example {
class Program {
static void Main(string[] args) {
// Initialize the integer variable a
int a = 1;
// Check if the condition is true
string ternary_value = (a == 1 ? "A is Equal to One" : "A is NOT Equal to One");
// Print the result to the console
Console.WriteLine("Initial Value (" + a.ToString() + "): " + ternary_value);
// Update the variable
a = 2;
// Re check if the conidition is still true
ternary_value = (a == 1 ? "A is Equal to One" : "A is NOT Equal to One");
// Print the result to the console
Console.WriteLine("Updated Value (" + a.ToString() + "): " + ternary_value);
Console.ReadLine();
}
}
}
Im obigen Beispiel haben wir eine Integer-Variable sowie einen String erstellt, dessen Wert sich abhängig vom Wert der Ganzzahl a
ändert. Um den String-Wert festzulegen, prüfen wir den Wert von a
mit dem ternären Operator. Wenn festgestellt wird, dass a
gleich eins ist, spiegelt die Zeichenfolge dies wider und umgekehrt. Nachdem Sie den Wert von a
geändert haben, können Sie beobachten, dass sich der Zeichenfolgenwert in der gedruckten Ausgabe wie erwartet ändert.
Ausgabe:
Initial Value (1): A is Equal to One
Updated Value (2): A is NOT Equal to One