如何使用OrderByDescending?

我有一个标签,圈子,这样声明

ReadOnlyCollection<FlangeCircle> Circles


包含一个variabel,直径为double的类型

我想根据直径对它们进行排序,所以我尝试

FlangeCircle<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);


但这不会通过编译器,但以下内容可以

var query = Circles.OrderByDescending(p => p.Diameter);


为什么会这样,我该如何声明“正确”类型的查询呢?

/斯蒂芬

最佳答案

变量的类型是问题所在:

FlangeCircle<FlangeCircle> query = ...


FlangeCircle<FlangeCircle>作为一种类型没有意义,并且肯定不是OrderByDescending返回的内容。您几乎可以肯定要:

IEnumerable<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);


或者,如果您希望能够在ThenBy上执行ThenByDescending / query运算符:

IOrderedEnumerable<FlangeCircle> query = ...;

09-03 18:50