List(T) 的实现实体对象操作,之Find FindAll Contains ForEach Sort

实体对象类:

复制代码
新闻发布实体类
     [MapTo(
" us_News " )]
    
public   abstract   class  NewsBLL 
    {
        [MapTo(
" FId " )]
        
public   abstract   string  Id {  get ;}
        
///   <summary>
        
///  标题
        
///   </summary>
        [MapTo( " FCaption " )]
        
public   abstract   string  Caption { get set ;}
        
///   <summary>
        
///  新闻类别PK-ss_Item.ID
        
///   </summary>
        [MapTo( " FType " )]
        [ManyToOne(LocalKey 
=   " FType " , ForeignKey  =   " FId " )]
        
public   abstract  DictItemBLL Type { get set ;}
        
///   <summary>
        
///  新闻内容
        
///   </summary>
        [MapTo( " FContent " )]
        
public   abstract   string  Content { get set ;}
        
///   <summary>
        
///  发布人
        
///   </summary>
        [MapTo( " FUserID " )]
        
public   abstract   string  UserID { get set ;}        
     }
新闻类别类
    [MapTo(
" ss_Item " )]
    
public   abstract   class  DictItemBLL 
    {

        [MapTo(
" FId " )]
        
public   abstract   int  Id {  get ;}

        
///   <summary>
        
///  分组编号
        
///   </summary>
        [MapTo( " FClassID " )]
        
public   abstract   int  ClassID { get set ;}
        
///   <summary>
        
///  父节点ID
        
///   </summary>
        [MapTo( " FParentID " )]
        
public   abstract   int  ParentID { get set ;}
        
///   <summary>
        
///  字典名称
        
///   </summary>
        [MapTo( " FName " )]
        
public   abstract   string  Name { get set ;}

        
#endregion

    }
复制代码

1,使用Find搜索单个匹配值

 

    NewsBLL news  =  list.Find( delegate (NewsBLL x) 
           { 
               
return  x.Type.Id  ==   10001 // 搜索新闻列表中类别(Type)子对象中的 Id=10001的单个对象
           });

2,使用FindAll搜索多个匹配值

    List < NewsBLL >  newsList  =  list.Find( delegate (NewsBLL x) 
           { 
               
return  x.Type.Id  ==   10001 // 搜索新闻列表中类别(Type)子对象中的 Id=10001的多个对象
           });

3,是用Contains检查满足条件的值是否存在

 

     bool  isContains =  list.Find( delegate (NewsBLL x) 
           { 
               
return  x.Type.Id  ==   10001   &&  x.UserID == " ejiyuan " // 搜索新闻列表中类别(Type)子对象中的 Id=10001,并且发布人等于ejiyuan的是否存在
           });

4,使用ForEach 对每个列表对象进行操作

 

    list.Find( delegate (NewsBLL x) 
           { 
               x.Caption 
=   " 10001 " ;   // 将列表中所有标题都修改为10001

           });

5,使用sort排序,按类别 id排序

复制代码
            list.Sort( delegate (NewsBLL x,DocumentBLL y)
            {
                
if  (x.Type.Id  <  y.Type.Id )
                {
                    
return   - 1 ;
                }
                
else   if  (x.Type.Id  ==  y.Type.Id )
                {
                    
return   0 ;
                }
                
else   return   1 ;
            });
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值