Como calcular a idade de uma pessoa com base na data de nascimento em C#?
Olá a todos! Sou um desenvolvedor C# iniciante e me deparei com uma tarefa aparentemente simples — calcular a idade do usuário com base na sua data de nascimento. Tenho uma variável `DateTime birthday` (por exemplo, `new DateTime(1990, 5, 15)`), e preciso obter um número inteiro de anos completos até a data atual.
Tentei a maneira mais óbvia — subtrair a data de nascimento da data atual e pegar a diferença em anos:
```csharp
DateTime today = DateTime.Today;
int age = today.Year - birthday.Year;
```
Mas isso não funciona corretamente! Se o aniversário da pessoa ainda não ocorreu este ano, a idade fica aumentada em 1 ano. Por exemplo, se hoje é 1 de janeiro de 2025, e o aniversário é 15 de maio de 1990, meu código retornará 35 anos, embora na verdade a pessoa tenha ainda 34.
Também tentei usar `TimeSpan`: