我有這樣一個集合的集合,如何排序基於類型的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