DistinctBy в LINQ
Метод DistinctBy сравнивает не весь объект, а
ключ, который вычисляют лямбдой. Для каждого
уникального ключа остаётся первый элемент из
исходного порядка.
Две записи с одним тегом "a" схлопнутся в одну. Печатают число записей и Id первой из них:
var rows = new[] { new { Id = 1, Tag = "a" }, new { Id = 2, Tag = "a" } };
var q = rows.DistinctBy(r => r.Tag);
Console.WriteLine(q.Count());
Console.WriteLine(q.First().Id);
То же правило работает для длины слова. Из "a", "bb", "c" и ещё одного "bb" остаются первое короткое и первое длинное:
string[] words = ["a", "bb", "c", "bb"];
var q = words.DistinctBy(w => w.Length);
Console.WriteLine(string.Join(",", q));
Оставьте по одному товару с каждой ценой и выведите их названия через запятую.
Выведите число уникальных первых букв в списке имён.