Avatar ·

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`: