【发布时间】:2015-08-24 23:55:42
【问题描述】:
这是我的对象:
public class A
{
public string Name { get; set; }
public Dictionary<int, List<int>> Years { get; set; }
}
字典包含年份列表和月份列表。我希望先按年然后按月对 A 列表 进行排序。
每个 A 上的字典样本:
{2015,new List(){3,4,5,6}}
{2016,new List(){2,8,9,10}}
如果我有多年,那么它可以排序如下: 2015 然后 2015, 2016 然后 2016
我未能实现 IComparable 或使用任何现有的扩展方法,如 OrderBy 或 Sort。谢谢!
【问题讨论】:
-
你将如何对
A1: ( {10, {0}}, {12, {0}} ), A2: ( {11, {0}}, {13, {0}} )进行排序?A1是否应该先行,因为它的最低年份在A2最低年份之前?还是您将每个 A 拆分成一个大 A,例如{10,..}, {11,..}, {12,..}, {13,..}? -
是的,首先是 A1,然后是 A2。没有拆分,因为它会复制对象 A。谢谢!!
标签: c# linq sorting dictionary