Для простых типов (по значению) С# поддерживает два способа инициализации:
- если переменная является локальной для метода или out-параметром метода (не инициализирована начальным значением, ссылка), то компилятор будет настаивать, чтобы в коде явно устанавливалось значение переменной до того, как она будет использована;
- во всех остальных ситуациях (включая статические поля-члены и поля экземпляров) компилятор инициализирует переменные после их создания значениями по умолчанию.
Если указать начальное значение переменной (поля) при ее объявлении (intx = 10), то это значение будет всегда использоваться для инициализации.
Читать далее...