如何按类实例的属性值对包含类对象的数组进行排序?
可能的重复:
如何对数组进行排序C# 中特定字段的对象?
给出以下代码:
MyClass myClass;
MyClassArray[] myClassArray = new MyClassArray[10];
for(int i; i < 10; i++;)
{
myClassArray[i] = new myClass();
myClassArray[i].Name = GenerateRandomName();
}
最终结果可能如下所示:
myClassArray[0].Name //'John';
myClassArray[1].Name //'Jess';
myClassArray[2].Name //'James';
如何根据 myClass.Name 属性按字母顺序对 MyClassArray[] 数组进行排序,以便数组看起来像这样最后:
myClassArray[0].Name //'James';
myClassArray[1].Name //'Jess';
myClassArray[2].Name //'John';
*编辑:我正在使用 VS 2005/.NET 2.0。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
Array.Sort
需要Comparison
参数:
You can use the
Array.Sort
overload that takes aComparison<T>
parameter:让 MyClass 实现 IComparable 接口,然后使用 Array.Sort
这样的东西适用于 CompareTo (假设 Name 属性的类型为 string )
或者简单地使用 Linq
Have MyClass implement IComparable interface and then use Array.Sort
Something like this will work for CompareTo (assuming the Name property has type string)
Or simply using Linq