Небезопасный код и указатели (Руководство по программированию в C#)
Для обеспечения строгой типизации и безопасности C# по умолчанию не поддерживает арифметические операции над указателями.Однако с помощью ключевого слова unsafe можно определить небезопасный контекст для использования указателей.Дополнительные сведения об указателях см. в разделе Типы указателей.
Примечание |
---|
В среде CLR небезопасный код называют непроверяемым.Небезопасный код в C# не обязательно представляет опасность. Это просто код, безопасность которого не может быть проверена средой CLR.Поэтому CLR выполнит этот код, только если он находится в полностью надежной сборке.При использовании небезопасного кода необходимо обеспечить гарантию того, что он не создаст угрозу безопасности и не вызовет ошибки указателей. |
Общие сведения о небезопасном коде
Небезопасный код имеет следующие свойства.
Методы, типы и блоки кода могут определяться как небезопасные.
В некоторых случаях небезопасный код может повысить производительность приложения за счет удаления проверок границ массива.
Использование небезопасного кода рекомендуется при вызове встроенных функций, требующих указателей.
Использование небезопасного кода создает угрозу безопасности и стабильной работы.
Для компиляции небезопасного кода в C# необходимо, чтобы приложение было скомпилировано с помощью /unsafe.
Связанные разделы
Дополнительные сведения см. в следующих разделах.
Спецификация языка C#
Дополнительные сведения см в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.