Типы — int, double и int[]. Var означает вывод статического типа компилятором, поэтому присвоить count строку нельзя. Это не переменная с произвольно меняющимся типом.
Какой тип получает переменная var в C#?
Типы — int, double и int[]. Var означает вывод статического типа компилятором, поэтому присвоить count строку нельзя. Это не переменная с произвольно меняющимся типом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В C# объявлены var count = 3;, var price = 3.0; и var items = new[] {1, 2, 3};. Определите типы. Можно ли затем присвоить count строку и чем var отличается от dynamic?
Ответ
Типы — int, double и int[]. Var означает вывод статического типа компилятором, поэтому присвоить count строку нельзя. Это не переменная с произвольно меняющимся типом.
Тип выводится из инициализатора и дальше участвует в обычной проверке на этапе компиляции. Dynamic переносит часть связывания операций на время выполнения и имеет другую семантику. Объявление var value = null; без дополнительного контекста типа не позволяет вывести тип. Для литерала decimal потребовался бы суффикс m, например var price = 3.0m;.
Источник: learn.microsoft.com.