我有3个不同的列表,其中包含相同的项目。 (列表)
当我使用icomparer在日期对它们进行排序时,我的c#表单会在每个列表中对它们进行排序,并且不会将itemsall排在一起并在此之后对其进行排序。
private List<Blog> lijstPublicBlogs;
private List<Blog> lijstRestrictedBlogs;
private List<Blog> lijstPrivateBlogs;
我得到的那3个列表,我希望比较器将所有列表中的所有项目排序在一起,而不是按每个列表排序...
这是我的比较器正在做的事情(例如,按日期排序):
列表1
2013年3月4日
2013年5月4日
列表2
2013年4月4日
2013年6月4日
列表3
2013年1月4日
2013年2月4日
但我想要的是,在将所有列表项排序在一起时执行以下操作: 2013年1月4日
2013年2月4日
2013年3月4日
2013年4月4日
2013年5月4日
2013年6月4日
任何人都知道我怎么能解决这个问题......我真的很感激它!
我想要做的是:将所有列表项(来自3个列表)放在一起,并在项目上使用iComparer。
答案 0 :(得分:3)
我得到的那3个列表,我希望比较器将所有列表中的所有项目排序在一起,而不是按每个列表排序...
我强烈建议您不要维护三个单独的列表,而是创建一个列表,其类型包含所有三个项目。然后,您可以对单个列表进行排序,无论如何,使用相关项目可能更容易。每当您有多个集合都保持同步时,请考虑创建一个类型来封装所有相关项,这样您就可以创建该类型的单个集合。你会为自己节省很多头疼的事情。