我有这样一个集合的集合,如何排序基于类型的LINQ
Class Base{}
Class A : Base {}
Class B : Base {}
List<Base> collection = new List<Base>();
collection.Add(new A());
collection.Add(new B());
collection.Add(new A());
collection.Add(new A());
collection.Add(new B());
现在我要进行排序基于类型(A/B)的集合。我如何做到这一点?请帮帮我。
@Anthony:是的 - 这里没有检查null。现在,除了A或B以外的任何东西都将被视为B ... – 2010-10-06 16:49:22
是的,我又看了一遍,发现它不是*完全*因为没有考虑类型' C:基地'。我很可能会做'a.GetType()。Name.CompareTo(b.GetType()。Name')(以及任何空检查,如果它们是相关的)。但是谁知道,也许只有两种类型,也许'A'确实是'Foo','B'确实是'Bar','Foo'应该在'Bar'前面。 – 2010-10-06 16:51:07
@Anthony:在原始问题中没有足够的信息来完全确定这一点 - 这可以让你更好地控制排序的发生,但很难知道OP真正想要的是什么...... – 2010-10-06 16:58:12