Определение типов переменных при использовании числовых суффиксов

x имеет тип float (System.Single), y — double (System.Double), z — decimal (System.Decimal). var выводит тип из литерала вместе с его суффиксом.

Короткий ответ

Что ответить на собеседовании

x имеет тип float (System.Single), y — double (System.Double), z — decimal (System.Decimal). var выводит тип из литерала вместе с его суффиксом.

Подробный разбор

Ответ с пояснениями

Условие

В C# при объявлении переменных можно использовать суффиксы, указывающие на конкретный тип числа. Укажите, какой тип будет у каждой из переменных, объявленных ниже, и продемонстрируйте это с помощью метода GetType().

var x = 1.0f;
var y = 1d;
var z = 1m;

x.GetType(); // ?
// [System.Single]

y.GetType(); // ?
// [System.Single]

z.GetType(); // ?
// [System.Single]

Подсказка: обратите внимание на суффиксы f, d и m.

Ответ

x имеет тип float (System.Single), y — double (System.Double), z — decimal (System.Decimal). var выводит тип из литерала вместе с его суффиксом.

Console.WriteLine(x.GetType()); // System.Single
Console.WriteLine(y.GetType()); // System.Double
Console.WriteLine(z.GetType()); // System.Decimal

Суффикс f задаёт float, d — double, m — decimal. Комментарии с System.Single у y и z в условии неверны. Простые вызовы GetType без WriteLine сами по себе ничего не печатают. Число с дробной частью без суффикса, например 1.0, по умолчанию имеет тип double.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее