zoukankan      html  css  js  c++  java
  • 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 {getset;}
            
    /// <summary>
            
    /// 新闻类别PK-ss_Item.ID
            
    /// </summary>
            [MapTo("FType")]
            [ManyToOne(LocalKey 
    = "FType", ForeignKey = "FId")]
            
    public abstract DictItemBLL Type {getset;}
            
    /// <summary>
            
    /// 新闻内容
            
    /// </summary>
            [MapTo("FContent")]
            
    public abstract string Content {getset;}
            
    /// <summary>
            
    /// 发布人
            
    /// </summary>
            [MapTo("FUserID")]
            
    public abstract string UserID {getset;}        
         }
    新闻类别类
        [MapTo(
    "ss_Item")]
        
    public abstract class DictItemBLL 
        {

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

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

            
    #endregion

        }

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

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

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

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

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

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

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

        list.ForEach(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;
                });
  • 相关阅读:
    51 nod 1046 A^B Mod C
    51nod 1027 大数乘法
    Subversion基础:概念、安装、配置和基本操作(转)
    IOS 网络请求中设置cookie
    iOS设备控制打印机输出文本
    Xcode6中如何添加pch文件
    iOS8 PUSH解决方法
    iOS8 Push Notifications
    xcode升级到6.0以后遇到的警告错误 原帖链接http://www.cocoachina.com/bbs/simple/?t112432.html
    xcode升级到6.0以后遇到的警告错误解决方法
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/1430974.html
Copyright © 2011-2022 走看看