C# OrderByDescending

标签 c# wpf arrays collections

如何使用 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/

相关文章:

wpf - 我可以从其他子窗口 ViewModel 访问主窗口 ViewModel

java - 拆分字符串不起作用。 (未使用局部变量的值)

javascript - C# Ext.net javascript html : Create a small colored box in label field

c# - 合并接触的多边形给出错误的结果

.net - 是否可以在 XAML 中设置有选择地影响控件的样式?

c# - 集合属性 ConverterParameter 为空

c++ - 在什么条件下,MSVC C++编译器有时会在从函数操作符new []返回的指针之前直接写入数组大小?

javascript - 删除具有键值的嵌套数组中的对象

c# - .net 核心中的 WCF (TransportWithMessageCredential)

c# - 委托(delegate)堆栈效率