Операции (sizeof, *, ->, &) доступны только в небезопасном коде.
Тернарный оператор: условие ? истина : ложь
Console.WriteLine( x>=0 ? “да” : “нет”);
Операторы checked и unchecked позволяют указать, как CLR будет обрабатывать переполнение стека в при выполнении тех операций над целочисленными типами, которые приводят к выходу значения результата за границы допустимых значений для конкретного типа данных.
Если отметить фрагмент кода как checked, то CLR будет выполнять проверку переполнения и генерировать исключение при возникновении переполнения.
byte b = 255; checked { b++; } // вызовет исключение
Оператор is позволяет проверить, является ли объект совместимым с определенным типом. Например можно проверить, совместима ли переменная с типом object:
int x = 10; if (x is object) { Console.WriteLine("x имеет тип object"); }
Оператор sizeof() определяет размер памяти необходимый для размещения переменной в стеке. Относиться к небезопасному коду.
Для того, чтобы C# начал воспринимать небезопасный код необходимо при компиляции указать параметр /unsafe или установить значение true в пункта Allow unsafe code blocks (Configuration options | Build).
Оператор typeof возвращает объект Type представляющий указанный тип. Например typeof(string) вернет объект Type, представляющий тип System.String. Это полезно при использовании отражения для динамического получения информации об объекте.