Я следую учебному пособию и, пытаясь решить одну из проблем, натолкнулся на следующие сообщения об ошибках:
Поле 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;
}