Арифметические операторы

Над числовыми типами определены арифметические операции, их операнды числа и результатом является некоторое число. Мы можем комбинировать в выражениях с арифметическими операторами как целочисленные типы так и типы с плавающей запятой, при этом все значения будут переводится в тип с плавающей запятой.

Например в выражении “1 + 1.2” результатом будет “2.2.” При вычисление значение 1 будет рассматриваться под типом double. В некоторых ситуациях этого не происходит, хотя вам может это показаться. Например, операция “5 / 10” должна дать нам “0.5”. Но вы используете в таком выражении тип int, а он не подразумевает остаток, в результате у нас будет число 0. Избежать этого можно приписав к числам постфикс, который укажет им более подходящий тип. Например f, который даст тип float или d который даст тип double. “5d / 10d = 0.5”.

ОператорОписаниеПример
+Складывает два числа;2 + 2 = 4;
Вычитает одно число из другого;4 – 2 = 2;
*Умножает два числа;4 * 2 = 8;
/Делит одно число на другое;14 / 5 = 2;
%Возвращает остаток от деления одного числа на другое;14 / 5 = 4;

Конкатенация строк

Некоторые операторы, хоть и выглядят как арифметические, примененные к не числовым типам имеют другое значение. В C# мы можем перегрузить оператор для определённого типа. Например, для типа string перегружен оператор “+”, что даёт нам соединения двух строк.

Пример
“Hello ” + “World” = “Hello World”;

С ним стоит быть аккуратней, так как строка + число дает строку. В таком выражении число конвертируется в строку.

Пример:

“Number = ” + 10 = “Number = 10”;

Или такое:

“10” + 10 = “1010”;

Иногда нам хочется в одном выражении вычислить два значения и соединить их со строкой. В таком случае у нас может возникнуть проблема. Например:

“Result = ” + 10 + 10;

Мы ожидаем строку “Result = 20”, но фактически увидим “Result = 1010”. Почему? Если разбирать по порядку, то сначала выполнится эта часть выражения

“Result = “ + 10;

Мы знаем, что если слева или справа от плюс строка, то противоположная сторона тоже становится строкой. В итоге мы получим выражение:

“Result = ” + “10” = “Result 10”;

Потом переходим к следующей части:

“Result = 10” + 10;

Тут это всё повторяется и в результате мы видим такой интересный результат. Починить это всё можно с помощью круглых скобок, которые задают приоритет.

“Result = ” + (10 + 10);

В таком случае мы сначала сложим две десятки, а потом присоединим их к строке.

Если вы нашли ошибку, пожалуйста выделите её и нажмите Ctrl+Enter.


Leave a Reply

Your email address will not be published. Required fields are marked *