簡體   English   中英

如何按降序對列表進行排序

[英]How to sort the list by descending order

public class Items {
   public string Name {get; set;}
   public int Id {get; set;}
   public List<string> SubItems {get; set;}
}

以上是我的 class。 在我的代碼中的某個地方,我正在使用 List 並添加記錄。

List<Items> listOfItems = new List<Items>();
listOfItems.OrderByDescending(i => i.SubItems).ToList();

listOfItems 有一些數據。 我想通過 LINQ 查詢訂購 listOfItems列表中的SubItems

你不能用 LINQ 來做,因為 LINQ 是query ,你想改變你的數據,而不是從數據中查詢一些東西。 但是您仍然可以使用序數循環對每個Item的內容進行排序

listOfItems.ForEach(x=>x.SubItems.Sort((a, b) => b.CompareTo(a)))

或者

listOfItems.ForEach(x=>x.SubItems = x.SubItems.OrderByDescending(i => i)))

我認為這里的問題是 OrderBy() 返回新列表,您目前沒有將其存儲在任何地方。 所以應該是:

List<Items> listOfItems = new List<Items>();

var orderedList = listOfItems.OrderByDescending(i => i.SubItems).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM