我有对象的集合。我需要用困难的条件对它进行排序,使用许多属性和计算。我的解决方案是定义对象特殊的int
属性,返回值,即OrderBy
肩负。这个解决方案不够好。
对于例如,收集应首先由State
属性排序,那么如果State = 1
,通过Value1
属性,如果State = 2
,通过Value2
物业等。
建议,请解决一些问题。集合的自定义排序
Q
集合的自定义排序
0
A
回答
2
您可以通过使用OrderBy第一个严格的标准和使用ThenBy后链接的其他标准命令由多个条件的集合。
你的第一个准则是简单地按照国有财产命令。你的第二个标准取决于国家财产;假设值1,值等有相同的类型,你可以使用一个switch
语句来选择合适的值:
IEnumerable<MyClass> result = items
.OrderBy(item => item.State)
.ThenBy(item =>
{
switch (item.State)
{
case 1: return item.Value1;
case 2: return item.Value2;
}
throw new Exception();
});
1
实现IComparer和使用LINQ
的排序依据
0
您可以使用IComparer类;
只需将上面给出的所有逻辑放入其比较方法即可。
相关问题
- 1. 自定义排序的Magento集合?
- 2. 自定义排序主干集合
- 3. Java集合排序VS自定义排序 - 速度
- 4. laravel关系集合上的自定义排序
- 5. 自定义排序+集团通过
- 6. Backbone.js自定义收集排序
- 7. 收集自定义重新排序
- 8. 自定义按类别排序集合类
- 9. C#自定义组合框排序
- 10. 自定义集合(的T)
- 11. 自定义对象集合序列化
- 12. 异常序列化自定义集合
- 13. 自定义排序
- 14. AutoMapper自定义集合
- 15. 上自定义集合
- 16. RABL - 自定义集合
- 17. 创建自定义集合
- 18. ngTable - 定义自定义排序次序
- 19. 定义自定义排序顺序
- 20. 类定义自定义排序顺序
- 21. 通过自定义排序自定义排序
- 22. 定义自定义可写集合
- 23. 如何对绑定到自定义对象集合的DataGridView进行排序?
- 24. MongoDB的自定义排序
- 25. MySQL的自定义排序
- 26. 自定义排序的ObjectListView
- 27. datagridview的自定义排序
- 28. 集合排序
- 29. 排序的集合
- 30. 自定义集合,可观察自我排序,防止插入等
@Baszz,感谢您的建议,但哪里有可能误解?我提供了一个小例子,我必须处理,并且已经有3个令人满意的答案。 –
好的,我删除它并再次提高。 –