LINQ Выберите Distinct Count в форме лямбда Учитывая выражение linq объектов 'коллекции элементов', таких как: var total = (from item in items select item.Value).Distinct().Count() Можно ли преобразовать это, чтобы использовать функции linq/lambdas: items.Select(???).Distinct().Count() Ответ 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();
Ответ 2 Это должно быть возможно, поскольку за кулисами LINQ переводится в lambdas и деревья выражений (по крайней мере LINQ для объектов) В вашем случае ??? будет item => item.Value, т.е. для item, вывести item.value. Таким образом, все выражение будет var total = items.Select(item => item.Value).Distinct().Count();