我必须编写一个程序,从控制台读取生日日期(格式为MM.DD.YYYY),并打印10年内的当前年龄和年龄。
这是我的第一个代码之一,在我看来它看起来太蹩脚了。我相信有更好的方法来写这个,所以我想问你有关如何优化代码的建议。
using System;
namespace Age
{
class Age
{
static void Main()
{
string birthDayAsk;
Console.WriteLine("Date format: MM.DD.YYYY");
birthDayAsk = Console.ReadLine();
DateTime birthday = DateTime.Parse(birthDayAsk);
DateTime today = DateTime.Today;
int age = today.Year - birthday.Year;
if ((birthday.Month > today.Month) || ((birthday.Month == today.Month) && (birthday.Day > today.Day)))
{
age = age - 1;
Console.WriteLine(age);
}
else
{
Console.WriteLine(age);
}
Console.WriteLine(age + 10);
}
}
}
答案 0 :(得分:0)
我认为最好使用TimeSpan来计算两个日期之间的差异Determining the Span Between Two Dates
另外要添加年份age.AddYears(10);