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.