Compartilhar via


desmarcada (translation from VPE for Csharp Reference)

The unchecked palavra-chave é usada para suprimir a verificação de estouro de tipo integral operações aritméticas e conversões.

Em um contexto desmarcado, se uma expressão produz um valor que está fora do intervalo do tipo de destino, o resultado será truncado.Por exemplo:

unchecked
{
    int val = 2147483647 * 2;
}

Como o cálculo acima é executado em um unchecked bloco, o fato de que o resultado é muito grande para um número inteiro é ignorado, e val recebe o valor -2. Por padrão, detecção de estouro é ativada, que tem o mesmo efeito que usar check-.

No exemplo acima, tinham unchecked foi omitido, ocorrerá um erro de compilar porque a expressão usa constantes e o resultado é conhecido em time de compilar. The unchecked palavra-chave também suprime a detecção de estouro para expressões não constante, caso contrário, que resultam em OverflowException em tempo de execução.

Também é possível usar a palavra-chave não-verificada sistema autônomo um operador, sistema autônomo este:

public int UncheckedAdd(int a, int b)
{
    return unchecked(a + b);
}

Exemplo

Este exemplo mostra como usar o unchecked demonstrativo com expressões constante.

class TestClass 
{
    const int x = 2147483647;   // Max int 
    const int y = 2;

    static void Main() 
    {
        int z;
        unchecked 
        {
            z = x * y;
        }
        Console.WriteLine("Unchecked output value: {0}", z);
    }
}
// Output: Unchecked output value: -2

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • 5.3.3.2 Bloquear instruções, estiver marcadas e instruções não verificadas

  • 7.5.12 Os operadores marcados e desmarcados

  • 8.11 As instruções marcadas e desmarcadas

Consulte também

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

Verificado e não selecionado (translation from VPE for Csharp Reference)

marcado (translation from VPE for Csharp Reference)

Outros recursos

Referência C#