2010-09-07 22 views

Antwort

12

Blick auf die Ternary Operator.

int i = t ? 1 : 0; 

Entspricht:

if(t) 
{ 
    i = 1; 
} 
else 
{ 
    i = 0; 
} 

Diese Syntax kann in einer Vielzahl von Sprachen, auch Javascript gefunden werden.

Denken Sie daran, wie ein Satz Englisch, wenn Sie tauschen den Doppelpunkt für "anders":

bool isItRaining = false; 
int layersOfClothing = isItRaining? 2 otherwise 1; 
4

Es ist das auch geschrieben werden kann C# Conditional Operator.

i = does t == true? if yes, then assign 1, otherwise assign 0. 

ist:

if (t == true) 
    t = 1; 
else 
    t = 0; 

oder

if (t) 
    t = 1; 
else 
    t = 0; 

Da t wahr ist, er druckt 1.

3
bool t= true; 
int i; 

if(t) 
{ 
i=1; 
} 
else 
{ 
i=0; 
} 

Weiteren Blick ?: Operator

3

(? *) Dies ist ein bedingter Operator.

Der bedingte Operator (? :) gibt abhängig vom Wert eines booleschen Ausdrucks einen von zwei Werten zurück. Der Bedingungsoperator hat die Form

Bedingung? first_expression: zweiter_Ausdruck;

hier in Ihnen Fall (true 1: 0), da die Bedingung wahr ist, was sicherlich Wert von i setzt auf 1.

0

Ich glaube, dass intern der Compiler die Anweisung zum Äquivalent von Inline wird:

Konsole.WriteLine (Convert.ToInt32 (t));

Diese Convert.x-Methode überprüft, ob der übergebene Parameter True ist, gibt 0 zurück, wenn dies nicht der Fall ist.

Verwandte Themen