我知道,在正常的LINQ语法, orderby xxx descending
是很容易的,但我要如何做到这一点的Lambda表达式?
Answer 1:
正如布兰农说,这是OrderByDescending
和ThenByDescending
:
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);
Answer 2:
使用System.Linq.Enumerable.OrderByDescending()
例如:
var items = someEnumerable.OrderByDescending();
Answer 3:
试试这个:
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);
}
Answer 4:
试试这个另一种方式:
var qry = Employees
.OrderByDescending (s => s.EmpFName)
.ThenBy (s => s.Address)
.Select (s => s.EmpCode);
Queryable.ThenBy
Answer 5:
这只能在你有一个数字字段的情况下,但你可以把一个减号在像这样的字段名称的前面:
reportingNameGroups = reportingNameGroups.OrderBy(x=> - x.GroupNodeId);
但是这个作品有点不同于OrderByDescending
当你正在上运行它int?
或double?
或decimal?
领域。
会发生什么事是OrderByDescending
空值将在年底,VS用这种方法中的空白将是开头。 其中,如果你想不分割数据洗牌周围空成碎片,后来拼接它是有用的。
Answer 6:
LastOrDefault()
通常不工作,但与Tolist()
它会工作。 有没有必要使用OrderByDescending
使用Tolist()
这样的。
GroupBy(p => p.Nws_ID).ToList().LastOrDefault();
文章来源: OrderBy descending in Lambda expression?