С#. Почему локальным переменным, определенным в методе, необходимо задавать начальное значение, а полям класса можно не задавать?
Потому что поле класса автоматически инициализируется дефолтным значением перед выполнением конструктора.class Test
{
    public int a = 10;
    public int b; // автоматически будет 0
    public int с; // тут сначала будет 0, потом в конструкторе станет 20
    public Test()
    {
        c = 20;
    }
}
Потому что поле класса автоматически инициализируется дефолтным значением перед выполнением конструктора.class Test
{
    public int a = 10;
    public int b; // автоматически будет 0
    public int с; // тут сначала будет 0, потом в конструкторе станет 20
    public Test()
    {
        c = 20;
    }
}