【发布时间】:2011-01-25 17:32:21
【问题描述】:
我有一个包含两个数据点的示例类:
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 解决方案不知道。
【问题讨论】: