LINQ中ForEach方法的使用

本文通过两个具体示例介绍了如何在LINQ中使用ForEach方法。第一个示例展示了如何使用ForEach来遍历员工列表并获取所有员工的名字。第二个示例则演示了如何利用ForEach将部门列表与员工列表进行关联。
摘要由CSDN通过智能技术生成

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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

pan_junbiao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值