Вот пример того, как можно вычислить возраст человека на C#, учитывая високосные годы и дату рождения:
using System;
public class AgeCalculator
{
public static int CalculateAge(DateTime dateOfBirth)
{
DateTime currentDate = DateTime.Today;
int age = currentDate.Year - dateOfBirth.Year;
if (currentDate.Month < dateOfBirth.Month || (currentDate.Month == dateOfBirth.Month && currentDate.Day < dateOfBirth.Day))
{
age--;
}
return age;
}
public static void Main()
{
// Example usage
DateTime dateOfBirth = new DateTime(1990, 5, 15);
int age = CalculateAge(dateOfBirth);
Console.WriteLine("Age: " + age);
}
}
Этот код определяет класс AgeCalculatorсо статическим методом CalculateAge. Метод CalculateAgeпринимает объект DateTime, представляющий дату рождения, и возвращает рассчитанный возраст. Он учитывает текущую дату и проверяет, находятся ли текущие месяц и день перед месяцем и числом даты рождения. Если да, то из рассчитанного возраста вычитается один год.
Пример использования метода Mainдемонстрирует, как использовать метод CalculateAge, указав конкретную дату рождения и распечатав рассчитанный возраст.