Как инициализируется значение по умолчанию, даже не указанное в явном конструкторе в c# - PullRequest
0 голосов
/ 09 апреля 2020

Объявленная переменная и не инициализированная в явном конструкторе. Тогда как значение по умолчанию, инициализированное для переменной. Это инициализация, выполняемая неявным конструктором?

Пример:

class A
{
    int i;
    public A()
    {
    }  
}

class program
{
    static void Main(string[] args)
    {
        A a = new A();
        Console.Write(a.i);
    }
}

Выход: 0

Ответы [ 3 ]

3 голосов
/ 09 апреля 2020

Если вы не инициализируете переменную-член, тогда ей присваивается значение default(T), где T - это тип.

Для справочных типов это null. Для bool это false, а для других типов значений это любое состояние объекта, будь то память, инициализированная нулем. Таким образом для int это оно 0.

0 голосов
/ 09 апреля 2020

вы взяли i как int, и Integer является типом значения со значением по умолчанию 0

Проверьте ссылку ниже, если вы новичок в C#

Значение по умолчанию

Тип значения

Тип ссылки

Использование ?, если Вы не хотите назначать значение по умолчанию. см. пример ниже

enter image description here

0 голосов
/ 09 апреля 2020

int является типом значения и не может быть нулевым, если вы не объявите его как обнуляемое int (int?). Значение по умолчанию равно 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...