Основы C#
Теория: Изменение переменной
Само слово «переменная», говорит о том, что ее можно менять. И действительно, с течением времени внутри программы, значения переменных могут изменяться.
C# статически типизированный язык, это значит что тип переменной задается при определении и больше не меняется. В примере выше, при создании переменной, мы присвоили ей строку. Компилятор запоминает тип и проверяет все последующие изменения переменной. Если попробовать этой же переменной присвоить число, то мы получим следующую ошибку:
Интересно то, что компилятор делает такую проверку без запуска кода на выполнение, именно поэтому такой вид типизации называют статическим (статика – без запуска). В динамических языках, таких как Javascript, Ruby, PHP или Python, подобное поведение не является ошибкой, переменная может легко изменить свой тип в процессе работы.

