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

Задают новое значение переменной. Имя переменной и результат вычисления выражения должны быть одного типа или совместимыми по присваиванию.

Присваивание бывает простое и сложное. При простом присваивании оператор состоит из одного символа (=). Синтаксис оператора:

ИмяПеременной = выражение;

 

Например, 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