Examinando o c # declaração “else”

Alguns código deve verificar se há condições mutuamente exclusivas. 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 é maior que b. . .
se um gt; b)
{
//. . .save um como o máximo.
max = a-
}
// Se um é menor ou igual a b. . .
se um lt; = b)
{
//. . .save b como o máximo.
max = b-
}

O segundo E se declaração é o processamento desnecessário porque as duas condições são mutuamente exclusivas. E se uma é melhor que b, então uma não pode 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 agora aparece da seguinte forma:

// Armazenar o máximo de a e b no máximo variável.
int max-
// Se a é maior que b. . .
se um gt; b)
{
//. . .save um como o outro modo maximum-. . .
max = a-
}
outro
{
//. . .save b como o máximo.
max = b-
}

Video: Germany in Two-Front War and the Schlieffen-Plan I THE GREAT WAR - Week 2

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



seqüê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áxima assim:

// 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 gt; a)
{
//. . . então você pode mudar sua mente.
max = b-
}

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

Video: No Man's Sky ★ Survival Mode ★ Revenge of the Survivor EP 14

Os programadores que gostam de ser legal e enigmática usam frequentemente o operador ternário, &# 128533;, 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.


Publicações relacionadas