Какой тип получает переменная var в C#?

Типы — int, double и int[]. Var означает вывод статического типа компилятором, поэтому присвоить count строку нельзя. Это не переменная с произвольно меняющимся типом.

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

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

Типы — 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.

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

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

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

Подробнее