Compartilhar via


Não seguro código e ponteiros (guia de programação do C#)

Para manter a segurança de tipo, C# não oferece suporte a aritmética do ponteiro, por padrão.No entanto, usando a palavra-chave de não seguro , você pode definir um contexto no qual não seguro ponteiros podem ser usados.Para obter mais informações sobre os ponteiros, consulte o tópico Tipos ponteiro.

ObservaçãoObservação

Em tempo de execução (CLR) language runtime, o código não seguro é conhecido como código não verificável.O código não seguro em C# não necessariamente é perigoso; é apenas o código cuja segurança não pode ser marcada pelo CLR.O CLR como consequência será executado somente o código seguro não estiver em um assembly totalmente confiável.Se você usar o código não seguro, é de sua responsabilidade assegurar que seu código não apresentam riscos de segurança ou erros do ponteiro.

Visão geral não seguro de código

O código não seguro tem as seguintes propriedades:

  • Os métodos, os tipos, e os blocos de código podem ser definidos como não seguro.

  • Em alguns casos, o código não seguro pode aumentar o desempenho de um aplicativo removendo as verificações dos limites da matriz.

  • O código não seguro é necessário quando você chama funções nativos que exigem ponteiros.

  • Usar o código não seguro apresenta os riscos de segurança e de estabilidade.

  • Para C# que compila o código não seguro, o aplicativo deve ser compilado com /unsafe.

Seções relacionadas

Para obter mais informações, consulte

Especificação da linguagem C#

Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Conceitos

Guia de programação do C#