我有一个示例类,其中包含两个数据点:
public enum Sort { First, Second, Third, Fourth }
public class MyClass
{
public MyClass(Sort sort, string name) {
this.Sort = sort;
this.Name = name;
}
public Sort Sort { get; set; }
public string Name { get; set; }
}
我希望按照它们的Sort
属性将它们分组,并对这些组进行字母顺序排序。
List<MyClass> list = new List<MyClass>() {
new MyClass(MyClass.Sort.Third, "B"),
new MyClass(MyClass.Sort.First, "D"),
new MyClass(MyClass.Sort.First, "A"),
new MyClass(MyClass.Sort.Fourth, "C"),
new MyClass(MyClass.Sort.First, "AB"),
new MyClass(MyClass.Sort.Second, "Z"),
};
输出结果将会是:
(显示 Name
)
A
AB
D
Z
B
C
我已经通过使用foreach
将项目分为许多较小的数组(按枚举值分组)来实现此操作,但这似乎非常繁琐 - 我认为必须有一些我不知道的LINQ解决方案。
select m
需要放在最后,然后它就会正确了。 - Ahmad Mageed