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

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

ПримечаниеПримечание

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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