мне нужно удалить повторяющиеся элементы, где два параметра равны.
Удалось удалить элементы, где повторяется только один параметр (Id), вот код:
var items = items.GroupBy(x => x.Id).Select(group =>
group.OrderBy(x => x.Date).First()).ToList();
Это список на входе:
Id: 1, Type: 2, Date: 12.02.2018
Id: 1, Type: 2, Date: 15.02.2018
Id: 1, Type: 1, Date: 19.02.2018
Id: 2, Type: 2, Date: 12.02.2018
На выходе должно получиться:
Id: 1, Type: 2, Date: 12.02.2018
Id: 1, Type: 1, Date: 19.02.2018
Id: 2, Type: 2, Date: 12.02.2018
Как правильно удалить из списка повторяющиеся элементы, где Id и Type равны?
Воспользуйтесь анонимным классом:
items = items.GroupBy(x => new { x.Id, x.Type })
.Select(a => a.OrderBy(x => x.Date).First())
.ToList();
Или кортежем (C# 7.0+):
items = items.GroupBy(x => (x.Id, x.Type))
.Select(a => a.OrderBy(x => x.Date).First())
.ToList();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости