В C# переменные можно объявлять почти в любом месте кода. Это удобно. Однако не знаю почему, но создатели C# почему-то запретили использовать неинициализированные переменные (даже в С++ такого нет). Я, конечно, могу предположить, почему. Если переменная не инициализирована, то в ней теоретически может храниться какой-нибудь мусор. И это в некоторых случаях может привести к труднонаходимым ошибкам. Однако, например, создатели Паскаля (Делфи, Лазарус) из этого нашли простой выход - при объявлении переменные автоматически инициализируются нулевыми значениями. В общем, нравится вам это или нет, но в C# вы не сможете сделать вот так: Это считается ошибкой и программа не будет откомпилирована. Ничего подобного нет не только в Паскале, но и в С++, хотя в С++ автоматической инициализации нет (если я правильно помню). Кстати, в C#, как и в Паскале, при объявлении, например, целочисленной переменной, компилятор поместит в неё ноль. И всё равно использование неинициализированной переменной будет