C# 将类似列分组,并对其他列执行日期逻辑

C# 将类似列分组,并对其他列执行日期逻辑,c#,visual-studio-2010,linq,C#,Visual Studio 2010,Linq,我正试图为下面的逻辑写一个linq语句。请建议 ID Name State StartDate EndDate 1 Adam NY 2010年1月1日2010年12月31日 2 Adam NY 2011年1月1日2012年12月31日 3 Adam CA 2010年1月1日2010年12月31日 4 Adam CA 2010年1月1日2010年12月31日 5安尼新泽西州2012年1月1日2012年12月31日 6安尼新泽西州2013年1月1日2013年12月31日 7安尼新泽西州2014年1月

我正试图为下面的逻辑写一个linq语句。请建议

ID Name State StartDate EndDate

1 Adam NY 2010年1月1日2010年12月31日

2 Adam NY 2011年1月1日2012年12月31日

3 Adam CA 2010年1月1日2010年12月31日

4 Adam CA 2010年1月1日2010年12月31日

5安尼新泽西州2012年1月1日2012年12月31日

6安尼新泽西州2013年1月1日2013年12月31日

7安尼新泽西州2014年1月1日2014年12月31日

我的输出

ID Name State StartDate EndDate

10纽约州亚当市2010年1月1日2012年12月31日

11 Adam CA 2010年1月1日2010年12月31日

12安尼新泽西州2012年1月1日2014年12月31日

逻辑是,当我按名称分组时,说明如果日期相同,则忽略重复的日期;如果日期连续,则合并日期;如果日期断开,则不合并或忽略日期


除了@Grantwiney的问题之外,还要感谢您:条目是否总是按顺序排列的?还是有人“跳过”了一年?@Flatter-日期不是连续的,而是随机的。