如何使用OrderByDescending?
我有一个标签,圈子,像这样声明
ReadOnlyCollection<FlangeCircle> Circles
包含一个变量,类型为double的直径
我想根据diamter对它们进行排序,所以我试试
FlangeCircle<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
但这不会通过编译器,但以下是
var query = Circles.OrderByDescending(p => p.Diameter);
为什么会这样,如何用“正确”类型声明查询?
/斯蒂芬
答案 0 :(得分:6)
变量的类型是问题:
FlangeCircle<FlangeCircle> query = ...
FlangeCircle<FlangeCircle>
作为一种类型没有意义,当然不是OrderByDescending
返回的内容。你几乎肯定想要:
IEnumerable<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
或者,如果您希望能够在ThenBy
上执行ThenByDescending
/ query
运算符:
IOrderedEnumerable<FlangeCircle> query = ...;
答案 1 :(得分:1)
这将返回一个IEnumerable,所以:
IEnumerable<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
答案 2 :(得分:0)
IEnumerable不应该变量吗?如在
IEnumerable<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
答案 3 :(得分:0)
尝试使用IEnumerable<FlangeCircle> query = ...