我有这个示例类:
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
对象。