C#OrderByDescending

Ste*_*son 1 c# arrays collections wpf

OrderByDescending是如何使用的?

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

ReadOnlyCollection<FlangeCircle> Circles
Run Code Online (Sandbox Code Playgroud)

其中包含一个variabel,类型为double的Diameter

我想根据diamter对它们进行排序,所以我试试

FlangeCircle<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
Run Code Online (Sandbox Code Playgroud)

但这不会通过编译器,但以下情况

var query = Circles.OrderByDescending(p => p.Diameter);
Run Code Online (Sandbox Code Playgroud)

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

/斯特凡

Jon*_*eet 6

变量的类型是问题:

FlangeCircle<FlangeCircle> query = ...
Run Code Online (Sandbox Code Playgroud)

FlangeCircle<FlangeCircle>作为一种类型没有意义,当然也不是返回的内容OrderByDescending.你几乎肯定想要:

IEnumerable<FlangeCircle> query = Circles.OrderByDescending(p => p.Diameter);
Run Code Online (Sandbox Code Playgroud)

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

IOrderedEnumerable<FlangeCircle> query = ...;
Run Code Online (Sandbox Code Playgroud)