Share via


Unsafe Code and Pointers (C# Programming Guide)

Para manter o type safety and security, C# não oferece suporte a aritmética de ponteiro, por padrão. No entanto, usando o inseguros palavra-chave, você pode definir um contexto sem segurança, na qual os ponteiros podem ser usados. Para obter mais informações sobre os ponteiros, consulte o tópico tipos de ponteiro.

ObservaçãoObservação

No common language runtime (CLR), código não seguro é conhecido como código não verificado. Código não seguro em C# não é necessariamente perigoso; é apenas código cuja segurança não pode ser verificada pelo CLR. O CLR, portanto, executará apenas código inseguro se ele estiver em um assembly totalmente confiável. Se você usar o código não seguro, é sua responsabilidade assegurar que seu código não apresenta riscos de segurança ou erros de ponteiro.

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

Código não seguro tem as seguintes propriedades:

  • Blocos de código, tipos e métodos podem ser definidos como não seguros.

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

  • Código não seguro é necessário quando você chamar funções nativas que exigem ponteiros.

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

  • Fim de C# compilar 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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Conceitos

C# Programming Guide