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

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

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

20080814 - 19800703 = 280111 

Отбросьте последние visual-c# 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 вариант, без преобразования .net-framework всех типов в виде метода datetime-manipulation расширения. Проверка ошибок .net-framework опущена:

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