结构体代码:
struct MyStruct
{
public int id;
public int quality;
public override string ToString()
{
return string.Format(" (id:{0};quality:{1})", id, quality);
}
}
排序写法:
var list = CreatValues();
// 该排序规则是quality在前,quality相等,id小在前
list.Sort((left, right) =>
{
if (left == right)
return 0;
else if (left.quality > right.quality)
return -1;
else if (left.quality == right.quality)
return left.id < right.id ? -1 : 1;
else
return 1;
});
备注:
结构体中的ToString主要是用来调试中查看信息,所以暂不考虑性能问题。