一个对象集合排序的类

本文介绍了一种基于.NET框架的对象集合排序方法,通过自定义比较器实现了对不同类型的属性进行排序的功能,并提供了按照指定字段升序或降序排列的示例。

写了一个对象集合排序的类

废话不多说,首先是定义一个对象实体类

    class Entity
    


然后写一个对象比较的类,实现IComparer<T>接口。

    internal class ListComparer<TBaseBusinessObject> : IComparer<TBaseBusinessObject>
    

然后是写了一个List继承List<T>类的集合,

    public class BaseBusinessObjectList<TBaseBusinessObject> : List<TBaseBusinessObject>
    
{
        
public void Sort(string sortfield, bool isAscending)
        
{
            
//这里实例化了刚才写的IComparer类。
            ListComparer<TBaseBusinessObject> listComparer = new ListComparer<TBaseBusinessObject>(sortfield);
            
base.Sort(listComparer);
            
if (!isAscending) base.Reverse();
        }

    }


于是就写完了,用的时候

    BaseBusinessObjectList<Entity> list = new BaseBusinessObjectList<Entity>();
    Entity obj 
= new Entity();
    obj.Id 
= 1;
    obj.Name 
= "test";
    obj.Price 
= 3.23;
    list.Add(obj);

    
//按照Name字段向上排序。
    list.Sort("Name",true);
    
//按照Price字段向上排序。
    list.Sort("Price",true);
    
//按照Id字段向下排序。
    list.Sort("Id",false);

完了~~~ 



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1543931


 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值