波斯码BOSSMA Information Technology

c#通过代理实现泛型列表List排序

发布时间:2010年12月13日 / 分类:DOTNET / 17,610 次浏览 / 评论

通过在Sort方法中嵌入代理方法,达到按照某个属性进行排序的目的。当然List排序的方法还有很多种,这里不一一列举。

定义要排序的实体类。

public class PersonInfo
{
    public string PNO { get; set; }
    public string PName { get; set; }
    public PersonInfo(string pNO, string pName)
    {
        PNO = pNO;
        PName = pName;
    }
}

在将数据全部填充到List后,调用Sort()方法,Sort方法通过代理方法进行比较排序。

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List list = new List();
        list.Add(new PersonInfo("4", "猴六"));
        list.Add(new PersonInfo("2", "李四"));
        list.Add(new PersonInfo("1", "张三"));
        list.Add(new PersonInfo("3", "王五"));
        //也可以专门定义一个方法传递给Sort
        list.Sort(delegate(PersonInfo p1, PersonInfo p2) { return Comparer.Default.Compare(p1.PNO, p2.PNO); });

        string str = string.Empty;
        foreach (PersonInfo obj in list)
        {
            str += obj.PNO + " " + obj.PName + "";
        }
        Literal1.Text = str;
    }
}
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯码,原文地址《c#通过代理实现泛型列表List排序

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论