- •Алфавит
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Переменные и константы
- •Пространства имен
- •Main() и аргументы командной строки
- •Операторы
- •Основные операторы
- •Унарные операторы
- •Аддитивные операторы
- •Мультипликативные операторы
- •Операторы сдвига
- •Операторы отношений
- •Операторы присваивания
- •Арифметическое переполнение
- •Математические операции
- •Литералы
- •Описание
- •Структуры
- •Инкапсуляция
- •Наследование
- •Полиморфиэм
- •Конструкторы
- •Деструкторы
- •Интерфейсы
- •Делегаты
- •Типы значений
- •Ссылочные типы
- •Тип dynamic
- •Тип object
- •Тип string
- •Встроенные базовые типы
- •Типы чисел
- •Типы целых чисел
- •Типы чисел с плавающей запятой
- •Значения типов по умолчанию
- •Преобразования типов
- •Стандартное форматирование чисел
- •Задание типов в объявлениях переменных
- •Инструкции, введение
- •Выражения
- •Разделители
- •Базовые алгоритмические структуры
- •Решения и ветвления
- •Безусловный переход вызовом функций
- •Ветвление if; else
- •Вложенные ветвления if; else
- •Выбор switch; case
Основные операторы
Оператор
Действие
x.y
Оператор "точка" используется для доступа к членам класса. Формат - Класс.Член.
(x)
Круглые скобки ( …) используются для указания порядка выполнения операций в выражении. Наивысший приоритет – операции в самых внутренних скобках.
A[x]
Квадратные скобки [ ]. Используются для доступа к элементу массива, его индекс необходимо заключить в скобки. Для многомерных массивов индексы разделяются запятыми.
new
Используется для создания экземпляра класса.
Class1 Имя = new Class1();
Typeof(имя типа)
Используется для получения типа объекта.
System.Type type = typeof(имя типа);
checked
Ключевое слово. Используется для явного включения проверки переполнения при выполнении арифметических операций и преобразований с данными целого типа.
unchecked
Ключевое слово. Используется для подавления проверки переполнения при выполнении арифметических операций и преобразований с данными целого типа.
Если в непроверяемом контексте результатом выполнения выражения является значение, выходящее за допустимые пределы значений конечного типа, то результат усекается.
->
Оператор -> объединяет разыменование указателя и доступ к члену класса.
Унарные операторы
Оператор
Действие
+ X
Унарный плюс.
Это знак числа X. Он использован по умолчанию.
++X
Префиксный унарный плюс.
Увеличение X на 1 перед использованием.
X ++
Постфиксный унарный плюс.
Уменьшение X на 1 после использования.
- X
Унарный минус.
Это знак числа X.
-- X
Префиксный унарный минус.
Уменьшение X на 1 перед использованием.
X --
Постфиксный унарный минус.
Уменьшение X на 1 после использования.
! X
Логическое отрицание. Унарный оператор, который выполняет над операндом X операцию НЕ. Он задан для типа bool и меняет значение операнда true на false, или наоборот.
~X
Поразрядное дополнение. Инвертирование каждого бита целого X.
(T) x
Явное преобразование x в тип T
& X
Возвращает адрес X.
sizeof(X)
Размер в байтах для X.
Аддитивные операторы
Оператор
Действие
X + Y
Сложение.
Для числовых типов он вычисляет сумму X + Y.
Для строкового типа он объединяет X и Y.
X - Y
Вычитание.
Для числовых типов вычисляет разность X - Y.
X | Y
Логическое сложение (ИЛИ - OR).
Вычисляет X и Y независимо от значения X.
X || Y
Условное логическое сложение (ИЛИ - OR).
Вычисляет Y в зависимости от X. Если X предопределяет результат, то Y не вычисляется.
X ^ Y
Сложение по модулю 2 (Исключающее ИЛИ - XOR).
Вычисляет X и Y независимо от значения X.
Мультипликативные операторы
Оператор
Действие
X * Y
Умножение.
Вычисляет произведение двух операндов.
X / Y
Деление. Делит X на Y.
При делении целых чисел результат всегда является целочисленным. Остаток отбрасывается.
X % Y
Остаток. Вычисляет остаток после деления X на Y.
X & Y
Логическое умножение (И - AND).
Вычисляет X и Y независимо от X.
X && Y
Условное логическое умножение (И - AND).
Вычисляет Y в зависимости от X. Если X предопределяет результат, то Y не вычисляется.
Операторы сдвига
Применяются для целых чисел.
Оператор |
Действие |
X >> Y |
Сдвиг вправо. Сдвигает биты X вправо на число бит, заданное Y (целое число). Если тип X — целое со знаком, то сдвиг арифметический (пустым старшим разрядам задается знаковый бит). Если тип X — целое без знака, сдвиг логический (старшие разряды заполняются нулями). |
X << Y |
Сдвиг влево. Сдвигает биты X влево на число бит, заданное Y (целое число). Освобождающиеся разряды заполняются нулями. Если тип X — целое со знаком, сдвиг арифметический (знаковый бит не трогается). Если тип X — целое без знака, сдвиг логический. |
Операторы отношений
Оператор
Действие
X == Y
Равно.
Возвращает значение true, если X равно Y, в противном случае возвращается значение false.
X != Y
Не равно.
Возвращает значение true, если X не равно Y, в противном случае возвращается значение false.
X < Y
Меньше.
Возвращает значение true, если X меньше Y, в противном случае возвращается значение false.
X > Y
Больше.
Возвращает значение true, если X больше Y, в противном случае возвращается значение false.
X <= Y
Меньше или равно.
Возвращает значение true, если X меньше или равно Y, в противном случае возвращается значение false.
X >= Y
Больше или равно.
Возвращает значение true, если X больше или равно Y , в противном случае возвращается значение false.
X ? Y : Z
Условный выбор (синоним – тернарный оператор).
Если X = true, то выбирается Y, в противном случае Z.
X is Y
Проверяет совместимость X с Y по типу. Если X может быть приведен к типу Y, не вызывая исключение, то возвращается true, в противном случае возвращается значение false.
X as Y
Возвращает X типа Y или нуль, если X не относится к типу Y,
Операторы присваивания
Они задают новое значение переменной. Присваивание бывает простое и сложное. При простом присваивании оператор состоит из одного символа (=). Синтаксис оператора:
ИмяПеременной = выражение;
Присваиваемое значение должно иметь тип, совпадающий с типом переменной, или допускающий неявное преобразование. В противном случае можно использовать явное преобразование, используя синтаксис:
ИмяПеременной = (тип переменной для размещения результата) = выражение;
Оператор сложного присваивания состоит из нескольких знаков без разделителей. Правый символ - знак простого присвоения, слева дополнительные символы, указывающие на тип дополнительной операции, выполняемой перед присваиванием.
Оператор |
Действие |
X = Y |
X = Y |
X += Y |
X = X + Y |
X -= Y |
X = X - Y |
X *= Y |
X = X * Y |
X /= Y |
X = X / Y |
X %= Y |
X = X % Y |
X &= Y |
X = X & Y |
X |= Y |
X = X | Y |
X ^= Y |
X = X ^ Y |
X <<= Y |
X = X << Y |
X >>= Y |
X = X >> Y |