Hallo,
Ich bin ein C# Neuling und hab mit folgendem Programmcode Schwierigkeiten:
bool UsePercent = sliPercent.ValueInt == 0 ? false : true;
Was bedeutet hier das Fragezeichen und false:true ?
Mir ist diese Syntax nicht bekannt.
Handelt es sich hierbei um eine verkürzte Schreibweise?
Vielen Dank im Voraus!
Hallo,
das ist ein Ternary Operator. Im Grunde ist das eine kurze Schreibweise für ein if/else Konstrukt.
Cheers
Ternary, also zu deutsch Ternär, bedeutet nur, dass der Operator drei Operanden bekommt und sagt nichts über seine Funktion aus. Der Operator heißt bedingte Bewertung, siehe auch Bitte Erklärung zu (...) ? ... : ... [Antwort: bedingte Bewertung], aber im konkreten Fall den Einwand von Console32 beachten.
BTW:
Der Code macht so keinen sinn. Siehe [Tipp] Anfängerfehler == true / == false
der Vergleich sliPercent.ValueInt == 0 ergibt bereits einen Boolean
besser lesbar wäre in deinem Fall:
bool UsePercent = sliPercent.ValueInt != 0 ;
[Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1