Decisões e ramificação

Alterar o fluxo de controle em um programa em resposta a algum tipo de valor de entrada ou calculado é uma parte essencial de uma linguagem de programação.Translation from VPE for Csharp fornece a capacidade de alterar o fluxo de controle, incondicionalmente, saltar para um novo local no código, ou condicionalmente, executando um teste.

Comentários

A forma mais simples de ramificação condicional usa o Se construção.Você pode usar um else cláusula com o if construir, e if construções podem ser aninhadas.

using System;

class Program
{
    static void Main()
    {
        int x = 1;
        int y = 1;


        if (x == 1)
            Console.WriteLine("x == 1");
        else
            Console.WriteLine("x != 1");


        if (x == 1)
        {
            if (y == 2)
            {
                Console.WriteLine("x == 1 and y == 2");
            }
            else
            {
                Console.WriteLine("x == 1 and y != 2");
            }
        }                
    }
}
Observação:

Ao contrário do C e C++, if instruções exigem valores booliano. Por exemplo, não é permitido ter uma demonstrativo que não obtenha avaliada sistema autônomo um simples True ou False, sistema autônomo (a=10). Translation from VPE for Csharp, 0 não puder ser substituída para False e 1 ou qualquer Outros valor para True.

sistema autônomo instruções a seguir o if e else palavras-chave podem ser única linhas de código sistema autônomo mostrado no primeiro if-else demonstrativo no exemplo de código anterior, ou um bloco de instruções contidas no chaves, sistema autônomo mostra a segunda if-else demonstrativo. É permitido aninhar if-else declarações, mas costuma ser considerado melhor prática de programação para usar um switch demonstrativo em vez disso.

A comutador demonstrativo pode executar ações vários dependendo do valor de uma dada expressão.O código entre o case demonstrativo e o quebra palavra-chave é executada se a condição for atendida.Se você desejar que o fluxo de controle continue a outro case demonstrativo, use o GoTo palavra-chave.

using System;

class Program
{
    static void Main()
    {
        int x = 3;

        switch (x)
        {
            case 1: 
                Console.WriteLine("x is equal to 1");
                break;

            case 2:
                Console.WriteLine("x is equal to 2");
                break;

            case 3:
                goto default;

            default:
                Console.WriteLine("x is equal to neither 1 nor 2");
                break;
        }
    }
}

A expressão que o switch demonstrativo usa para determinar o uso de maiúsculas e minúsculas para executar deve usar o Tipos de dados internos, sistema autônomo int ou string; não é possível usar tipos definidos pelo usuário mais complexos.

Ao contrário do Visual Basic, em translation from VPE for Csharp a condição deve ser um valor constante.Por exemplo, não é permitido para comparar a expressão a um intervalo de valores.

Consulte também

Conceitos

Translation from VPE for Csharp linguagem Primer

Referência

Instruções de seleção (Referência C#)

Ir instruções (Referência C#)