Операторы присваивания

Операторы присваивания задают новое значение переменной. Присваивание делится на две категории: простое и сложное.

Простое присваивание

Оператор простого присваивания в C# имеет вид одиночного знака равенства (=). Чтобы присваивание успешно сработало, правая часть оператора должна относиться к типу, который может быть неявно преобразован к типу переменной в левой части.

Сложное присваивание

Операторы сложного присваивания, помимо обычного присваивания, выполняют некоторые дополнительные действия. Сложное присваивание выполняется следующими операторами:

+= -= *= /= %= &= = ^= <<= >>=

Оператор сложного присваивания x<операция>=y вычисляется точно так же, как команда x = x <операция>y, с двумя исключениями:

l значение x вычисляется всего один раз, и результат используется как при выполнении операции, так и при присваивании;

l если x содержит вызов функции или ссылку на массив, эта операция выполняется всего один раз.

При обычных правилах преобразования, если x и y относятся к типу short, следующая команда привела бы к ошибке компиляции, поскольку сложение выполняется со значениями типа int, а результат типа int нельзя неявно преобразовать в short:

x = x + 3;

Однако в данном случае, поскольку тип short может быть неявно преобразован в int, и вы можете написать

x = 3;

Такая операция допустима.

Предлагаю ознакомиться с аналогичными статьями: