gpt4 book ai didi

C#:Sort/OrderBy 枚举值

转载 作者:太空狗 更新时间:2023-10-30 01:24:38 25 4
gpt4 key购买 nike

我有一个从 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);

我可能也可以用字典做点什么。任何其他想法,或者是否有执行此操作的标准模式。

最佳答案

switch 语句可能是最好的方法,因为它可以很容易地发现传递了无效值的时间。

可以使用Dictionary<Sort, Func<IEnumerable<LinqClass>, IEnumerable<LinqClass>>>但我认为这不值得。

关于C#:Sort/OrderBy 枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com