通过继承接口IComparable,实现CompareTo方法,达到按照某个属性进行排序的目的。当然List排序的方法还有很多种,这里不一一列举。
定义要排序的实体类,实现接口IComparable的CompareTo方法。
public class PersonInfo : IComparable
{
public string PNO { get; set; }
public string PName { get; set; }
public PersonInfo(string pNO, string pName)
{
PNO = pNO;
PName = pName;
}
public int CompareTo(object obj)
{
PersonInfo otherPersonInfo = obj as PersonInfo;
if (otherPersonInfo != null)
{
return this.PNO.CompareTo(otherPersonInfo.PNO);
}
else
{
throw new ArgumentException("Object is not a PersonInfo!");
}
}
}
在将数据全部填充到List后,调用Sort()方法,Sort方法通过PersonInfo的CompareTo方法进行比较排序。
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<PersonInfo> list = new List<PersonInfo>();
list.Add(new PersonInfo("4", "猴六"));
list.Add(new PersonInfo("2", "李四"));
list.Add(new PersonInfo("1", "张三"));
list.Add(new PersonInfo("3", "王五"));
list.Sort();
string str = string.Empty;
foreach (PersonInfo obj in list)
{
str += obj.PNO + " " + obj.PName + "<br/>";
}
Literal1.Text = str;
}
}
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论