以下适用于VB ..
Dim q = allValues.GroupBy(Function(u) u.R).Select(Function(grp) grp).OrderByDescending(Function(a) a.Count).ToList
但不是在C#..
dynamic q = allValues.GroupBy(u => u.R).Select(grp => grp).OrderByDescending(a => a.Count).ToList;
“allValues”是各种像素的颜色列表。我正在尝试将颜色R值分组并按计数降序排序以找到最常用的颜色。
我是C#和Lambda的菜鸟。这也是我在网站上的第一篇文章。谢谢你的任何帮助!
答案 0 :(得分:5)
a.Count
是一种方法,它需要括号 -
.OrderByDescending(a => a.Count())
ToList()
也是如此。
还有一些小问题:
Select(grp => grp)
毫无意义,您可以删除该位。dynamic
- 您只需使用var
。答案 1 :(得分:4)
正确的语法是
var q = allValues // probably you mean "var" instead of "dynamic"
.GroupBy(u => u.R)
.Select(grp => grp) // that's redundant, you can remove it
.OrderByDescending(a => a.Count())
.ToList();
在()
之后和Count
之后注意ToList
。 "()"意味着你调用方法。