如何使用 OrderByDescending?
我有一个标签 Circles,声明如下
ReadOnlyCollection<FlangeCircle> Circles
其中包含一个变量,类型为 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 = ...;
关于C# OrderByDescending,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7443325/