Небезопасный код — это код, который выполняется без управления системы CLR, использующий указатели.
Небезопасный код объявляется с помощью ключевого слова unsafe и в свойствах проекта, нужно разрешить использовать небезопасный код.
С помощью оператора fixed, можно предотвратить удаление сборщиком мусора управляемой переменной, на которую ссылается указатель.
Небезопасный код объявляется с помощью ключевого слова unsafe и в свойствах проекта, нужно разрешить использовать небезопасный код.
С помощью оператора fixed, можно предотвратить удаление сборщиком мусора управляемой переменной, на которую ссылается указатель.
Для использования небезопасного кода: Project. Property. Вкладка Build. Выберите чек бокс Allow unsafe code.
Main.cs
usingSystem;classProgram {-
//опасный код объявляется с помощью ключевого слова unsafe -
unsafepublicstaticintMain() { -
//переменная на которую будет ссылаться указатель -
intval = 5; -
//объявляем указатель и обнуляем его, что бы не был диким -
int* pointer =null; -
//инициализируем его адресом переменной -
pointer = &val; -
//через указатель смотрим значение переменной -
Console.WriteLine(*pointer); -
//через указатель изменяем значение переменной -
*(int*)pointer = 10; -
Console.WriteLine(val); -
Console.ReadKey(); -
return0; -
} }
usingSystem;classProgram {-
//опасный код объявляется с помощью ключевого слова unsafe -
unsafepublicstaticintMain() { -
//переменная на которую будет ссылаться указатель -
intval = 5; -
//объявляем указатель и обнуляем его, что бы не был диким -
int* pointer =null; -
//инициализируем его адресом переменной -
pointer = &val; -
//через указатель смотрим значение переменной -
Console.WriteLine(*pointer); -
//через указатель изменяем значение переменной -
*(int*)pointer = 10; -
Console.WriteLine(val); -
Console.ReadKey(); -
return0; -
} }
5
10
10