Вам бы разрешили это сделать в динамических языках, таких как JavaScript, потому что в них переменная не имеет собственного типа. Все, что имеет значение, — это значимый тип, которое она содержит, а он может измениться по мере выполнения кода. Нечто подобное можно сделать и в C#, объявив переменную с типом dynamic или object (что я опишу позже в подразделах «Тип dynamic» на с. 112 и «Тип object» на с. 114). Тем не менее наиболее распространенной практикой в C# является использование переменных более определенного типа.
Программируем на C# 8.0. Разработка приложений
·
Иэн Гриффитс