[英]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
命名空間使用OrderBy
和ThenBy
方法:
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.