LINQ中ForEach方法的使用

LINQ中ForEach方法的使用。

1、实例一:使用ForEach获取列表中的某个字段值

/// <summary>
/// 使用ForEach获取列表中员工名称字段
/// </summary>
static void Main(string[] args)
{
    List<Emplayee> emplayeeList = GetEmplayeeList();  //获取员工信息列表  
    string empNames = "";                             //员工名称字段
    emplayeeList.ForEach(a => empNames += a.EmplayeeName + ",");
    empNames = empNames.TrimEnd(',');
    Console.WriteLine(empNames);                     //输出:张三,李四,王五
}

2、实例二:使用ForEach将部门列表与员工列表关联 

/// <summary>  
/// 使用ForEach将部门列表与员工列表关联 
/// </summary>   
public static void JoinDepartmentList()
{
    List<Department> departmentList = GetDepartmentList();   //获取部门信息列表  
    List<Emplayee> emplayeeList = GetEmplayeeList();         //获取员工信息列表  
    departmentList.ForEach(a => a.EmplayeeList = emplayeeList.Where(e => e.DepartmentId == a.DepartmentId).ToList());

    //使用ForEach输入结果
    departmentList.ForEach(a => Console.WriteLine(String.Format("{0}:员工数量:{1}", a.DepartmentName, a.EmplayeeList.Count)));
}

其它代码:

/// <summary>  
/// 部门信息类  
/// </summary>  
public class Department
{
    /// <summary>  
    /// 部门ID  
    /// </summary>  
    public int DepartmentId { get; set; }

    /// <summary>  
    /// 部门名称  
    /// </summary>  
    public string DepartmentName { get; set; }

    /// <summary>
    /// 员工列表
    /// </summary>
    public List<Emplayee> EmplayeeList { get; set; }
}  

/// <summary>  
/// 员工信息类  
/// </summary>  
public class Emplayee
{
    /// <summary>  
    /// 员工姓名  
    /// </summary>  
    public string EmplayeeName { get; set; }

    /// <summary>  
    /// 部门ID  
    /// </summary>  
    public int DepartmentId { get; set; }
}

/// <summary>  
/// 获取员工信息列表  
/// </summary>  
/// <returns></returns>  
public static List<Emplayee> GetEmplayeeList()
{
    List<Emplayee> emplayeeList = new List<Emplayee>();
    Emplayee emplayee1 = new Emplayee() { EmplayeeName = "张三", DepartmentId = 1, };
    Emplayee emplayee2 = new Emplayee() { EmplayeeName = "李四", DepartmentId = 2, };
    Emplayee emplayee3 = new Emplayee() { EmplayeeName = "王五", DepartmentId = 2, };
    emplayeeList.Add(emplayee1);
    emplayeeList.Add(emplayee2);
    emplayeeList.Add(emplayee3);
    return emplayeeList;
}

/// <summary>  
/// 获取部门信息列表  
/// </summary>  
/// <returns></returns>  
public static List<Department> GetDepartmentList()
{
    List<Department> departmentList = new List<Department>();
    Department department1 = new Department() { DepartmentId = 1, DepartmentName = "研发部" };
    Department department2 = new Department() { DepartmentId = 2, DepartmentName = "人事部" };
    Department department3 = new Department() { DepartmentId = 3, DepartmentName = "财务部" };
    departmentList.Add(department1);
    departmentList.Add(department2);
    departmentList.Add(department3);
    return departmentList;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
API:应用编程接口,是一个新的(API)应用编程接口 本质上它是命名空间和类的一个集合,他的目标是:查询任意来源的数据。 数据库、业务对象、XML文件、一个数据集 1、所需要数据均出自相同的数据源,可能性很小。数据库、业务对象、XML文件、一个数据集,Web服务端 2、访问数据的难易程度完全取决于数据的存储位置。访问一个内存的对象会比访问XML文件数据库容易。 3、原数据自身一般不是最主要显示的结果。一旦要进行整理,它就须要排序、修改、分组、调序。循环遍历,合并入一个数据池,等等。 List<Book> book=GetBooks(); //排序 Books.SortByPrice(delegate(Book first,Book second)) { Return((double)(second.Price-first.Prince)); } //遍历运算求总计 Double totallncome=0; Books.Foreach(delegate(Book book)) { Totallcome+=(book.Price*book.TotalSales); } 以上六行包含了排序,循环,合并运算,价格数据不是通过不同的类别的电子表格,Web服务或XML输入的 让数据源更易于访问,可以连接不同的数据源的数据,并且对他们执行标准化的数据处理操作,全部只需要一行代码完成。 例如:提供可以确保所有数据字段是通用类的操作,这样就必担心从数据库获取数据时类型正确转换问题。 一些数据源本没有DataProvider的支持,可以提供一种措施易于开发人员做功能扩展,创建一个支持这些数据源的Provider。 Var Query=from book in Books Where book.QuarterlySales>0 Select book=>{Name,(Price*QuarterlySales)} 四个属性和一个静态方法,该方法把五本书列表返回给任何需要该数据的页面,这里有一个C#3.0语言的一个特性一一对象新转化器(object)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值