簡體   English   中英

用多個條件對結構數組進行排序c#

[英]sort an array of structs with multiple criteria c#

我有一個結構數組,需要先按st排序,然后按優先級排序,然后按id排序。 這是我的結構:

 struct File {  
   public int priority, id, st;
 }

這是我的數組:

 File[] Files = new File[10];

有沒有一種簡單的方法可以進行這種分類?

您可以從System.Linq命名空間使用OrderByThenBy方法:

var result = Files.OrderBy(x => x.st)
                  .ThenBy(x => x.priority)
                  .ThenBy(x => x.id)
                  .ToList(); // Or ToArray()

您還可以對這種Linq查詢使用查詢語法

var result = (from file in Files
             orderby file.st, file.priority, file.id
             select file).ToList(); // Or ToArray()

請記住,查詢表達式在編譯之前會轉換為它們的lambda表達式。

暫無
暫無

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

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