2010-09-07 3 views

Répondre

12

Regardez le Ternary Operator.

int i = t ? 1 : 0; 

équivaut à:

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

Cette syntaxe peut être trouvée dans une variété de langues, même javascript.

penser comme une phrase en anglais si vous remplacez le côlon pour "autrement":

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

Il est le C# Conditional Operator.

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

peut également écrire:

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

ou

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

Puisque t est vrai, il imprime 1.

3
bool t= true; 
int i; 

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

Pour plus d'apparence ?: opérateur

3

(? *) ceci est un opérateur conditionnel.

L'opérateur conditionnel (? :) renvoie l'une des deux valeurs en fonction de la valeur d'une expression booléenne. L'opérateur conditionnel est de la forme

condition? first_expression: second_expression;

ici en vous cas (true 1: 0), car la condition est vraie, qui établit certainement la valeur de i à 1.

0

Je crois que le compilateur interne inline la déclaration à l'équivalent de:

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

Cette méthode Convert.x vérifie si le paramètre passé est vrai renvoie 0 s'il ne l'est pas.

Questions connexes