Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmNcImW 61 of 436 menu
◀ ▶

Неявное расширение типа в C#

Неявное расширение записывает число в более широкий тип без записи в скобках. Компилятор выполняет его сам, когда значение точно помещается и дробная часть не теряется.

Целое int можно положить в long. Число остается тем же, меняется только тип переменной слева:

int num1 = 5; long num2 = num1; Console.WriteLine(num2); // prints 5

Тот же int ложится в double. На экране снова целое без точки:

int num1 = 12; double num2 = num1; Console.WriteLine(num2); // prints 12

Маленький byte расширяется до int при записи и внутри действия с int:

byte num1 = 200; int num2 = num1; Console.WriteLine(num2); // prints 200

Расширение в действии живет только внутри выражения. Сложим byte и int. Оба на время счета становятся int, сумма тоже int:

byte num1 = 10; int num2 = 20; Console.WriteLine(num1 + num2); // prints 30

Обратная запись, из широкого типа в узкий, неявно не проходит. Дробное в int само не ляжет, программа не собирается:

double num1 = 3.0; int num2 = num1; // does not compile

Дана переменная:

int num = 100;

Запишите ее в переменную типа long и выведите новую переменную.

Дан следующий код:

byte num1 = 5; int num2 = 7; Console.WriteLine(num1 + num2);

Скажите, что выйдет на экран.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить