この問題を解決する方法
DateTime now = DateTime.Today;
DateTime s = (DateTime)dobcalender.SelectedDate;
int years = now.Year - s.Year;
if (now.Month < s.Month || (now.Month == s.Month && now.Day < s.Day))
--years;
tb_age.Text = years.ToString();
if (_data.Age >= 60)
{
_data.Citizen = "Senior";
}
else
{
_data.Citizen = "Junior";
}
問題は、_data.Age を int32 として宣言したことです。
生年月日から年齢を計算する必要があり、また、その人が高齢者か後輩かを確認する必要があります。両方の値は年齢から計算されます。