【发布时间】:2013-01-09 21:54:11
【问题描述】:
所以我有一个包含名为 myNumber 的属性的类。它看起来像这样:
public class MyThing
{
public int name{ get; set; }
public string myNumber{ get; set; }
}
myNumber 中包含的值可能类似于12-24 或12-024。
我想按 myNumber 降序订购这些对象 (IEnumerable<MyThing> myCollection) 的集合,但我不知道该怎么做。
我试过myCollection.OrderByDescending(f => f.myNumber),但它并不完全符合我的预期。我希望12-22, 13-01, 12-030 像这样订购:
13-01
12-030
12-22
【问题讨论】:
-
你的意思是从字符串的前两个字符开始按数字排序吗?还是模式比这更复杂?
-
为什么 12-030 大于 12-22?
-
您需要更明确地了解您的规则是什么,这些规则应该如何排序。它们是否应该按数字顺序排列,就好像没有 - 一样?
-
我猜排序应该首先按左侧的数字对数字进行分组,然后按降序排列。在那之后,他们应该按右侧的数字降序排列“在分组内”。
-
你期望的顺序不是我期望的。从字符串的角度来看,我希望顺序为 13-01、13-22、12-030(降序)
标签: c# asp.net c#-4.0 collections