Операторы присваивания
Задают новое значение переменной. Имя переменной и результат вычисления выражения должны быть одного типа или совместимыми по присваиванию.
Присваивание бывает простое и сложное. При простом присваивании оператор состоит из одного символа (=). Синтаксис оператора:
ИмяПеременной = выражение;
Например, x = x + 1;
y = Math.Sin(x);
Присваиваемое значение должно иметь тип, совпадающий с типом переменной, или допускающий неявное преобразование.
Пример9:
int x=2; double y;
y = x * x;
Console.WriteLine("x={0} y={1}", x, y);
Console.ReadKey();
В противном случае можно использовать явное преобразование, используя синтаксис:
ИмяПеременной = (тип переменной слева от =) выражение;
Пример10:
double x = 2.5; float y=0;
y = (float) (x * x);
Console.WriteLine("x={0,4:f} y={1,4:f}", x, y);
Console.ReadKey();
Пример11:
double x = 2.5; int y=0;
y = (int) (x * x);
Console.WriteLine("x={0,5:f} y={1,5:f}", x, y);
Console.ReadKey();
// Приведение double в int ведет к потере дробной части
Пример12:
double n; int y;
n=5;
y = (int)(Math.Sqrt(n));
Console.WriteLine("y= " +y);
Console.ReadKey();
Пример13:
byte b,y;
b = 10;
y = (byte)(b * b); //результат представляет выражение int и требует преобразование
Console.WriteLine("y: " +y);
Console.ReadKey();
Оператор сложного присваивания состоит из нескольких знаков без разделителей. Правый символ – знак простого присвоения, слева дополнительные символы, указывающие на тип дополнительной операции, выполняемой перед присваиванием.
Составные операторы | Действие |
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=x+10 может бать записано x+=10
x=x–100 может бать записано x–=100