Подтвердить что ты не робот

LINQ Выберите Distinct Count в форме лямбда

Учитывая выражение linq объектов 'коллекции элементов', таких как:

var total = (from item in items select item.Value).Distinct().Count()

Можно ли преобразовать это, чтобы использовать функции linq/lambdas:

items.Select(???).Distinct().Count()
4b9b3361

Ответ 1

Используйте это:

items.Select(i => i.Value).Distinct().Count()

Ответ 2

Это должно быть возможно, поскольку за кулисами LINQ переводится в lambdas и деревья выражений (по крайней мере LINQ для объектов)

В вашем случае ??? будет item => item.Value, т.е. для item, вывести item.value. Таким образом, все выражение будет

var total = items.Select(item => item.Value).Distinct().Count();