如何使用lambda或linq命令asc/dsc

Omu*_*Omu 3 .net c# linq lambda

如何IEnumerable<T>用linq或lambda 命令降序?

Kik*_*aru 10

Enumerable.OrderByDescending
Run Code Online (Sandbox Code Playgroud)

如果问题是你想要下降而不是上升


Jon*_*eet 5

如果您指的是非泛型IEnumerable,则应使用CastOfType来获得IEnumerable<T>第一个,然后可以使用常规OrderBy/ OrderByDescending调用。

例如:

IEnumerable test = new string[] { "abc", "x", "y", "def" };
IEnumerable<string> orderedByLength = test.Cast<string>()
                                          .OrderBy(x => x.Length);
Run Code Online (Sandbox Code Playgroud)

您也可以通过在查询表达式中明确说明类型来做到这一点:

IEnumerable<string> orderedByLength = from string x in test
                                      orderby x.Length
                                      select x;
Run Code Online (Sandbox Code Playgroud)

编辑:现在,问题已得到澄清,查询表达式形式为:

var query = from value in collection
            orderby value.SomeProperty descending
            select value;
Run Code Online (Sandbox Code Playgroud)