Как рассчитать чей-то возраст на основе дня рождения типа DateTime?

Это странный способ сделать visual-c# это, но если вы форматируете dotnet дату в yyyymmdd и вычитаете дату c#-language рождения из текущей даты, то .cs-file отбрасываете последние 4 .net-framework цифры, у вас есть возраст datetime :)

Я не знаю C#, но думаю, что dot-net это будет работать на любом dot-net языке.

20080814 - 19800703 = 280111 

Отбросьте последние datetime-manipulation 4 цифры = 28.

Код C#:

int now = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
int dob = int.Parse(dateOfBirth.ToString("yyyyMMdd"));
int age = (now - dob) / 10000;

Или, как c# вариант, без преобразования .net всех типов в виде метода csharp расширения. Проверка ошибок .net опущена:

public static Int32 GetAge(this DateTime dateOfBirth)
{
    var today = DateTime.Today;

    var a = (today.Year * 100 + today.Month) * 100 + today.Day;
    var b = (dateOfBirth.Year * 100 + dateOfBirth.Month) * 100 + dateOfBirth.Day;

    return (a - b) / 10000;
}

c#

.net

datetime

2022-11-11T15:35:07+00:00