我遇到了一个情况,我不确定最好的处理方式是什么......
我的前端代码 (ASP.NET) 不断获取用于填充 UI 组件的业务对象列表。最近,我实现了一种自然排序,我想将其用于这些列表的所有类型。 (目前它只是对字符串列表进行排序) 根据业务对象的类型,我需要根据不同的字段名称进行排序。该字段始终包含一个字符串。我在编译时知道字段名称。除了 Object 之外,业务对象没有共同的父对象。
我希望有一种方法可以对任何类型的 Enumerable 执行此操作。我无法更改底层业务对象的代码。你会怎么做?
最佳答案
类似于 Linq's orderby ?
您必须在 IComparer 中实现您的自然排序,但您只需使用:
Items.OrderBy(i => i.SomeStringField, NaturalSorter);
关于c# - 按字符串字段方法的通用排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144344/