Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1012 of 1492 menu
◀ ▶

unsafe

Ключевое слово unsafe открывает контекст для указателей. Адрес локальной переменной действует, пока переменная в кадре; не сохраняйте указатель после выхода из метода. См. также fixed для массивов.

Синтаксис

unsafe { int* p = &x; }

Пример

Давайте прочитать x через указатель:

using System; class Program { static void Main() { int x = 12345; unsafe { int* p = &x; int res = *p; Console.WriteLine(res); } } }

Результат выполнения кода:

12345

Пример

Давайте изменить значение через *p:

using System; class Program { static void Main() { int x = 1; unsafe { int* p = &x; *p = 2; } Console.WriteLine(x); } }

Результат выполнения кода:

2

Пример

Давайте сравнить адрес и переменную после блока:

using System; class Program { static void Main() { int x = 12345; unsafe { int* p = &x; *p = 12345; } Console.WriteLine(x); } }

Результат выполнения кода:

12345

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить