Laden...

Was bedeutet die folgende Schreibweise? bool UsePercent = sliPercent.ValueInt == 0 ? false : true;

Erstellt von wokie vor 10 Jahren Letzter Beitrag vor 10 Jahren 818 Views
Thema geschlossen
W
wokie Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren
Was bedeutet die folgende Schreibweise? bool UsePercent = sliPercent.ValueInt == 0 ? false : true;

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!

N
232 Beiträge seit 2011
vor 10 Jahren

Hallo,

das ist ein Ternary Operator. Im Grunde ist das eine kurze Schreibweise für ein if/else Konstrukt.

Cheers

Hinweis von herbivore vor 10 Jahren

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.

W
wokie Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren

Vielen Dank!

C
258 Beiträge seit 2011
vor 10 Jahren

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 von Abt vor 10 Jahren

[Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1

Thema geschlossen