2010-03-04 86 views

回答

1

例与一些对象的列表假设您想要按日期排序,然后名称:

List<Anniversaries> annivDates = GetAnnivDates(); 
List<Anniversaries> recentAnniv = annivDates.OrderBy(d => d.Date).ThenBy(d => d.Name).Take(2).ToList(); 
0

如果周年纪念日存放在常规DateTime结构中,他们可能会有错误的年份(即婚礼或出生年份)。我建议写等,其计算下一个日期一周年(基于当前日期)的函数:

static DateTime CalcNext(DateTime anniversary) { 
    DateTime newDate = new DateTime(DateTime.Now.Year, anniversary.Month, anniversary.Day); 
    if (newDate < DateTime.Now.Date) 
    newDate = newDate.AddYear(1); 
    return newDate; 
} 

然后你用排序的日期,并采取了前两个值像其他帖子所述内容进行操作:

(from e in anniversaries orderby CalcNext(e.Date) select e).Take(2) 
相关问题