Examinando o C # Statement "Else"

Alguns código deve verificar a existência de condições mutuamente exclusivos. Por exemplo, o seguinte segmento de código armazena o máximo de dois números, uma e b, na variável max:

// Armazenar o máximo de a e b no máximo variável.
int max-
// Se a for maior do que b. . .
if (a> b)
{
//. . .save um como o máximo.
max = a-
}
// Se a é menor do que ou igual a b. . .
se um lt; = b)
{
//. . b .save como o máximo.
max = B-
}

O segundo E se declaração é o processamento desnecessário porque as duas condições são mutuamente exclusivos. E se uma é melhor que b, então uma não pode, possivelmente, ser inferior ou igual a b. C # define uma outro cláusula apenas para este caso. o outro palavra-chave define um bloco de código que é executado se a E se bloco não é.

O segmento de código para calcular o máximo aparece agora como segue:

// Armazenar o máximo de a e b no máximo variável.
int max-
// Se a for maior do que b. . .
if (a> b)
{
//. . .save um maximum- como o contrário. . .
max = a-
}
outro
{
//. . b .save como o máximo.
max = B-
}

E se uma é melhor que b, o primeiro bloco é executed- caso contrário, o segundo bloco é executado. No final, max contém o maior de uma ou b.

Evitando até mesmo a outra pessoa

sequências de outro cláusulas pode ficar confusa. Alguns programadores gostam de evitá-los quando isso não causar ainda mais confusão. Você poderia escrever o cálculo máximo como este:

// Armazenar o máximo de a e b no máximo variável.
int max-
// Comece assumindo que a é maior que b.
max = a-
// Se não é. . .
Se (b> a)
{
//. . . então você pode mudar sua mente.
max = B-
}

Alguns programadores evitar este estilo como a peste. Você vê tanto este estilo e o "estilo mais" de uso comum.

Os programadores que gostam de ser frio e enigmático usam frequentemente o operador ternário, :?, equivalente a um if / else em uma linha:

bool informal = verdade-
string name = informal: "Chuck"? "Charles" - // Returns "Chuck".

Isto avalia a expressão antes do cólon. Se for verdade, ele retorna a expressão após os dois pontos, mas antes do ponto de interrogação. Se for falso, ele retorna a expressão após o ponto de interrogação. Isso transforma um if / else em uma expressão.

De um modo geral, usá-lo apenas raramente, porque realmente é críptica.

menu