c# - 按字符串字段方法的通用排序

标签 c# sorting c#-4.0

我遇到了一个情况,我不确定最好的处理方式是什么......

我的前端代码 (ASP.NET) 不断获取用于填充 UI 组件的业务对象列表。最近,我实现了一种自然排序,我想将其用于这些列表的所有类型。 (目前它只是对字符串列表进行排序) 根据业务对象的类型,我需要根据不同的字段名称进行排序。该字段始终包含一个字符串。我在编译时知道字段名称。除了 Object 之外,业务对象没有共同的父对象。

我希望有一种方法可以对任何类型的 Enumerable 执行此操作。我无法更改底层业务对象的代码。你会怎么做?

最佳答案

类似于 Linq's orderby

您必须在 IComparer 中实现您的自然排序,但您只需使用:

Items.OrderBy(i => i.SomeStringField, NaturalSorter);

关于c# - 按字符串字段方法的通用排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144344/

相关文章:

c# - 仅当第二个 TSource 不为 Null 时联合集合

python - Pandas 函数排序不匹配

c#-4.0 - Process.GetProcesses 返回所有登录用户的进程?

c#-4.0 - 将大文件写入 HTTP 响应

multithreading - 如何在 C# 4.0 中实现任务延续

c# - Androic C# : Using two different layout in the ViewPager

c# - 指定用户在文本框中输入数据的方式

使用带函数的 Order By 计算两点之间的距离(long,lat)时 MySQL 查询速度变慢

c# - NHibernate 别名中的错误

arrays - Swift 选择器 caseInsensitiveCompare