如何对集合进行排序:List <T>?

时间:2019-08-30 13:42:36

标签: c# list sorting collections

我有这个示例类:

class MyClass
{
   public string name;
   public string name2;
}

,我想像MyClass一样列出List<MyClass> myClass = new List<MyClass>();的列表,但有人告诉我,更好的方法是制作某种“集合”。这是我的列表现在的样子:

class MyClassCollection : List<MyClass>
{

}

据我所知,这是更好的选择,因为我现在可以使用自己的方法,例如覆盖.Add()

所以我的“顺便说一句”问题是:是吗?

我创建了MyClassCollection myClassCollection = new MyClassCollection();,并向其中添加了一些MyClass对象。但是,如何按name的字母顺序对其进行排序?

如果这是一个列表,我可以使用以下列表对其进行排序:

List<MyClass> myList = new List<MyClass>();
myList.Add(myClassObject1);
myList.Add(myClassObject2);
myList = myList.OrderBy(x => x.name).ToList();

但是:

MyClassCollection myClassCollection = new MyClassCollection();
myClassCollection.Add(myClassObject1);
myClassCollection.Add(myClassObject2);
myClassCollection = myClassCollection.OrderBy(x => x.name).ToList();

不起作用,因为ToList()方法返回的对象类型为List<MyClass>,而不是MyClassCollection对象。

0 个答案:

没有答案