Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpAqDb 175 of 509 menu
◀ ▶

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));

Оставьте по одному товару с каждой ценой и выведите их названия через запятую.

Выведите число уникальных первых букв в списке имён.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить