Как исправить ошибку «Поле класса никогда не присваивается» в C # - PullRequest
0 голосов
/ 27 января 2019

Я следую учебному пособию и, пытаясь решить одну из проблем, натолкнулся на следующие сообщения об ошибках:

Поле Data.Age никогда не назначается и всегда будет иметь значение по умолчанию 0

Поле Data.Month никогда не присваивается и всегда будет иметь значение по умолчанию null

Код работает нормально, и все работает, но я не знаю, что именно означает эта ошибка (потому что я назначил что-то этим полям) или как ее исправить.

Я изучил Как исправить "Поле X никогда не назначается и будет иметь значение по умолчанию, равное null"? , но не понял, что происходит.

class Program
{
    static void Main(string[] args)
    {
        var data = new Data();

        Console.WriteLine("What is your name?");
        data.Name = Console.ReadLine();

        while (data.Name == "")
        {
            data.Name = TryAgain();
        }

        Console.WriteLine("What is your age?");
        data.Age = int.Parse(Console.ReadLine());

        while (data.Age == null)
        {
            data.Age = int.Parse(TryAgain());
        }

        Console.WriteLine("What month were you born in?");
        data.Month = Console.ReadLine();

        while (data.Month == "")
        {
            data.Month = TryAgain();
        }

        Console.WriteLine("Your name is: {0}", data.Name);
        Console.WriteLine("Your age is: {0}", data.Age);
        Console.WriteLine("Your birth month is: {0}", data.Month);

    }

    static string TryAgain()
    {
        Console.WriteLine("You didn't type anything, please try again:");
        return Console.ReadLine();
    }
}

class Data
{
    public string Name;
    public int? Age;
    public string Month;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...