Поделиться через


Небезопасный код и указатели (Руководство по программированию в C#)

Для обеспечения строгой типизации и безопасности C# по умолчанию не поддерживает арифметические операции над указателями. Однако с помощью ключевого слова unsafe можно определить небезопасный контекст для использования указателей. Дополнительные сведения об указателях см. в разделе Типы указателей.

Примечание

В среде CLR небезопасный код называют непроверяемым.Небезопасный код в C# не обязательно представляет опасность. Это просто код, безопасность которого не может быть проверена средой CLR.Поэтому CLR выполнит этот код, только если он находится в полностью надежной сборке.При использовании небезопасного кода необходимо обеспечить гарантию того, что он не создаст угрозу безопасности и не вызовет ошибки указателей.

Общие сведения о небезопасном коде

Небезопасный код имеет следующие свойства.

  • Методы, типы и блоки кода могут определяться как небезопасные.

  • В некоторых случаях небезопасный код может повысить производительность приложения за счет удаления проверок границ массива.

  • Использование небезопасного кода рекомендуется при вызове встроенных функций, требующих указателей.

  • Использование небезопасного кода создает угрозу безопасности и стабильной работы.

  • Для компиляции небезопасного кода в C# необходимо, чтобы приложение было скомпилировано с помощью /unsafe.

Связанные разделы

Дополнительные сведения см. в следующих разделах.

Спецификация языка C#

Дополнительные сведения см. в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.

См. также

Основные понятия

Руководство по программированию на C#