我有一个结构数组,需要首先按st排序,然后按优先级排序,然后按id排序。 这是我的结构:
struct File {
public int priority, id, st;
}
这是我的阵列:
File[] Files = new File[10];
有一种简单的方法可以进行这种排序吗?
答案 0 :(得分:1)
您可以使用ThenBy
命名空间中的System.Linq
和var result = Files.OrderBy(x => x.st)
.ThenBy(x => x.priority)
.ThenBy(x => x.id)
.ToList(); // Or ToArray()
方法:
var result = (from file in Files
orderby file.st, file.priority, file.id
select file).ToList(); // Or ToArray()
您还可以使用查询语法进行此类Linq查询:
=IF(or(and(B1>43%, B1<57%, A1=2016),and(B1 >57%, A1=2016,istext(E1))), "ID",)
请记住,查询表达式在编译之前会被翻译成lambda表达式。