Operador não verificado

Definição - O que significa Operador não verificado?

Um operador não verificado, em C #, é um operador usado para desabilitar a verificação de estouro durante a avaliação de expressões e conversões.

Ao realizar operações aritméticas de tipo integral usando expressões que contêm tipos de dados numéricos, pode resultar em uma exceção de estouro se o resultado da operação for muito grande para ser representado no número alocado com um número específico de bits com base em seu tipo. Nos casos em que um estouro é um resultado aceitável da operação, é necessário suprimir a exceção e continuar com o programa. Um operador não verificado é usado em tais cenários, definindo um contexto não verificado no qual o estouro aritmético é ignorado com o truncamento do resultado.

Em contraste com C / C ++, que ignora a possibilidade de estouro, C # fornece o recurso para manipular ou ignorar o estouro, fornecendo operadores marcados e não verificados. O operador desmarcado é freqüentemente usado na seção de um projeto que é compilado no contexto verificado. Alguns dos algoritmos em que o operador não verificado pode ser usado incluem somas de verificação, lógica de criptografia e geração de número aleatório.

Definirtec explica o operador não verificado

Um operador não verificado é usado com a palavra-chave "não verificado" em uma expressão e como uma instrução em um bloco de código. Ele define um contexto de execução no qual os bits mais significativos do resultado são descartados na ocorrência de um estouro de inteiro, enquanto a execução continua. O contexto de unchecked é aplicável às instruções incluídas na instrução "unchecked" e não a chamadas de função aninhadas.

Por exemplo, quando o produto de dois números inteiros grandes de tipo de dados requer o uso de short para alguma finalidade sem qualquer necessidade de verificar a ocorrência de um estouro, um operador não verificado pode ser usado.

Em geral, uma expressão que contém termos constantes só pode ser verificada quanto a um estouro durante o tempo de compilação. Um operador não verificado pode ser usado para evitar a verificação de estouro em tais expressões e também para expressões que contêm termos não constantes que são desmarcados por padrão, tanto em tempo de execução quanto em tempo de compilação.

Um operador não verificado não pode ser sobrecarregado.

Como o uso de um operador não verificado tem uma penalidade de desempenho, ele só deve ser usado onde o estouro não causar problemas.

Esta definição foi escrita no contexto de C #