我知道在正常的Linq语法中,order xxx降序是非常容易的,但我如何在Lambda表达式中做到这一点?
当前回答
试试另一种方式:
var qry = Employees
.OrderByDescending (s => s.EmpFName)
.ThenBy (s => s.Address)
.Select (s => s.EmpCode);
可查询。ThenBy
其他回答
这只适用于你有一个数字字段的情况,但你可以在字段名前面放一个负号,像这样:
reportingNameGroups = reportingNameGroups.OrderBy(x=> - x.GroupNodeId);
然而,当你在int上运行它时,它的工作方式与orderbydescent有点不同?还是双?或小数吗?字段。
在orderbydescent中,null值将位于末尾,而在此方法中,null值将位于开头。如果您希望在不将数据分割成碎片并稍后拼接的情况下洗牌空值,这是非常有用的。
LastOrDefault()通常不工作,但与Tolist()它将工作。没有必要像这样使用orderbydescent和Tolist()。
GroupBy(p => p.Nws_ID).ToList().LastOrDefault();
试试另一种方式:
var qry = Employees
.OrderByDescending (s => s.EmpFName)
.ThenBy (s => s.Address)
.Select (s => s.EmpCode);
可查询。ThenBy
试试这个:
List<int> list = new List<int>();
list.Add(1);
list.Add(5);
list.Add(4);
list.Add(3);
list.Add(2);
foreach (var item in list.OrderByDescending(x => x))
{
Console.WriteLine(item);
}
正如布兰农所说,这是先降后降的顺序:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
等价于:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
推荐文章
- LINQ读取XML
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- 从另一个列表id中排序一个列表
- lambda表达式每次执行时都在堆上创建一个对象吗?
- Lookup()和Dictionary(Of list()的区别
- 如何改变列表<T>数据IQueryable<T>数据
- 如果查询为空,则最大返回值
- Java SE 8有对或元组吗?
- Lambda捕获作为const引用?
- ToList()——它是否创建一个新列表?
- lambda表达式中使用的变量应该是final或有效final
- 如何将linq结果转换为哈希集或哈希集
- Linq选择列表中存在的对象(A,B,C)
- 局部函数vs Lambda c# 7.0
- LINQ组通过到一个字典对象