C# OrderByDescending

本文关键字:OrderByDescending | 更新日期: 2023-09-27 18:09:00

如何使用orderbydescent ?

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

ReadOnlyCollection<FlangeCircle> Circles

包含一个double类型的变量Diameter

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

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

,但这不会通过编译器,但下面的

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

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

Stefan

C# OrderByDescending

变量的类型是问题所在:

FlangeCircle<FlangeCircle> query = ...

FlangeCircle<FlangeCircle>作为类型没有意义,当然也不是OrderByDescending返回的。您几乎肯定需要:

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

或者如果您希望能够在query上执行ThenBy/ThenByDescending操作:

IOrderedEnumerable<FlangeCircle> query = ...;

这将返回一个IEnumerable,所以:

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

变量不应该是IEnumerable吗?如

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

尝试使用IEnumerable<FlangeCircle> query = ...