永发信息网

C#如何实现在ArrayLis中Sort()方法,使其按自定义类中的某个元素进行排序

答案:2  悬赏:0  手机版
解决时间 2021-03-03 21:28
如:class A
{
int id;
String name;
}
将A的对象加入ArrayList中,调用Sort()方法,使其按A中的id排序,请高手指点,谢谢,最好有成功的示例代码!!!
最佳答案
让你的类实现 IComparable 接口即可
using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add(new A(0, "张三"));
list.Add(new A(2, "王五"));
list.Add(new A(1, "李四"));

//加入的顺序是 0,2,1

list.Sort();

foreach (A a in list)
{
Console.WriteLine(a.name);
}
Console.Read();
}
}

class A:IComparable
{
int id;
public string name{get;set;}

public A(int id, string name)
{
this.id = id;
this.name = name;
}

public int CompareTo(object obj)
{
var a = obj as A;
if (a.id > this.id)
{
return -1;
}
else if (a.id < this.id)
{
return 1;
}
else
{
return 0;
}
}
}
}
全部回答
public class a     {     public int id;     public string name;     }  这样定义更方便     list<a> list = new list<a>();     list<a> newlist= list.orderby(o => o.id).tolist(); 用linq这样很方便查询排序
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帐篷 单人帐多少钱,帐篷 单人帐怎么样
华阴市孟塬镇司家小学地址在哪,我要去那里办
【析取范式】求﹁(P∨Q)←→(P∧Q)的析取范式
绿松石有带黄线的吗?
安全模式可以进 vga模式进不去
我进了微店看了一下什么都不懂,不知道怎么的
请问电影主角叫未央生的电影哪个网站可以看
陆川县沙坡镇土地管理所白马分所这个地址在什
k3 与 cad 2007 不兼容的解决有没???多谢
含税价怎么算不含税价
【1122333】3×4=1233×34=1122333×334=1112
13岁的孩子来月经第三天能练跆拳道吗
青岛宏风大药房张家坊店在哪里啊,我有事要去
计算行列式,第一行:x1-a,x2....xn,第二行:
巴盟业弘酿皮地址有知道的么?有点事想过去
推荐资讯
如图,写出图中以A为顶点的角________.
电动卷帘门电机正常运转,但是卷帘门不能升降
祈福缘金色宝藏店万松园店怎么去啊,有知道地
男主人戊戌年狗女主人庚子年狗,请问2014年搬
已知二次函数f(x)=ax²+bx+1(a>0)
菜户河水库这个地址在什么地方,我要处理点事
东壕地址在什么地方,想过去办事
安美达物流地址在什么地方,想过去办事
请问小米平板怎样设置把电影储存到外置内存卡
怎么通过微信关注“伊利好酸奶”公众账号
文峰家电维修部在哪里啊,我有事要去这个地方
空调风扇效果怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?