Язык C# предоставляет большой набор операторов, которые представляют собой символы, определяющие операции, которые необходимо выполнить с выражением. К операторам, которые выполняют арифметические операции можно отнести операторы:
-
+
(сложения), -
−
(вычитания), -
*
(умножения), -
/
(деления), -
%
(получения остатка от деления)
Примечание:
- Если после знака присвоения идет выражение с вычислением или передачей каких-либо значений, то данная операция выполняется справа налево. Для повышения приоритета операции можно использовать круглые скобки ( ).
- Операции умножения, деления, получения остатка от деления имеют больший приоритет, чем сложения и вычитания, поэтому выполнятся в первую очередь.
- При получении результата остатка от деления – знак результата не сокращается и соответствует значению первого операнда (делимого).
- Если в правой части выражения выполнялись операции деления между целыми числами, то результат будет приведен компилятором к целому типу, даже если результат записать в переменную вещественного типа или привести все выражение к вещественному типу.
- Все арифметические операции производимые над двумя значениями типа (
byte
,sbyte
,short
,ushort
) в качестве результата, возвращают значение типаint
. - Для типов
int
,uint
,long
иulong
, не происходит преобразования типа результата арифметических операций. - Для типов
float
иdouble
, не происходит преобразования типа результата арифметических операций.
Пример использования арифметических операций:
static void Main()
{
// Addition (+)
sbyte summand1 = 1, summand2 = 2; // Множественное объявление.
int sum = 0;
sum = summand1 + summand2;
Console.WriteLine($"{summand1} + {summand2} = {sum}");
// Subtraction (-)
byte minuend = 5, subtrahend = 3;
int difference = 0;
difference = minuend - subtrahend;
Console.WriteLine($"{minuend} - {subtrahend} = {difference}");
// Multiplication (*)
byte factor1 = 2, factor2 = 3;
byte product = 0;
product = (byte)(factor1 * factor2); // необходимо явное преобразование типа результата арифметических операций
Console.WriteLine($"{factor1} * {factor2} = {product}");
// Division (/)
int dividend = 5, divisor = 2;
float quotient = 0, remainder = 0;
quotient = (float)dividend / divisor;
Console.WriteLine($"{dividend} / {divisor} = {quotient} - with float type");
Console.WriteLine($"{dividend} / {divisor} = {dividend / divisor} - only int type");
// Remainder after division (%)
remainder = dividend % divisor;
Console.WriteLine($"{dividend} % {divisor} = {remainder}");
// Delay.
Console.ReadKey();
}
Результат:
Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №3. ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ"