如果项目重复,则c#lambda获取通用列表中的最新项目

时间:2013-04-27 07:00:33

标签: asp.net-mvc c#-4.0 lambda

如果有重复项,我想从列表中删除旧项目。

这是我的样本列表:

1         Item1       Apr 27, 2013        $100
2         Item2       Apr 25, 2013        $200
3         Item3       Apr 24, 2013        $150
4         Item1       Apr 26, 2013        $100
5         Item3       Apr 25, 2013        $150

我的预期结果将是:

1         Item1       Apr 27, 2013        $100
2         Item2       Apr 25, 2013        $200
5         Item3       Apr 25, 2013        $150

1 个答案:

答案 0 :(得分:0)

您可以使用LINQ获取新列表,只使用适当的元素:

var items = source.GroupBy(x => x.Item)
                  .Select(g => g.OrderByDescending(x => x.Date).First())
                  .ToList();