我有一个从Linq2Sql中实例化的IEnumerable。我已经过滤掉了我想要的记录,现在我想根据选择的枚举对它们进行排序:
public enum Sort
{
Time,
Name,
Value
}
public class LinqClass
{
public DateTime Time;
public string Name;
public double Value;
}
Sort sort = Sort.Time
items.OrderBy(sort);
最好的方法是什么?我可以创建一个重载的 OrderBy(Sort s) 方法,它只是一个大的 switch 语句:
switch(sort)
case Time:
return this.OrderBy(x=>x.Time);
我可能可以使用字典来处理。还有其他想法吗?或者有没有标准模式可以实现这个功能。
List.Sort()
方法,这是一种非常重的解决方案,但也非常灵活和清晰。 - sll