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
Referência
Verificado e não selecionado (translation from VPE for Csharp Reference)
marcado (translation from VPE for Csharp Reference)