Вы можете упростить это:
DateTime dta = DateTime.Today;
String dia = dta.Day.ToString();
if (dta.Day < 10)
dia = '0'+dia;
String mes = dta.Month.ToString();
if (dta.Month < 10)
mes = '0'+mes;
String aniversario = String.Format("{0}-{1}", dia, mes);
В это:
String aniversario = DateTime.UtcNow.ToString("dd'-'MM");
// You *are* storing dates in UTC aren't you?
Это не меняет того факта, что это не очень хороший способ хранения или поиск дат, но это хорошее место для начала.
Это все, что я получил, кроме примера Джима Дагга LINQ.