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;
- }
浙公网安备 33010602011771号