LINQ中ForEach方法的使用

LINQ中ForEach方法的使用。

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

[csharp] view plain copy
  1. /// <summary>  
  2. /// 使用ForEach获取列表中员工名称字段  
  3. /// </summary>  
  4. static void Main(string[] args)  
  5. {  
  6.     List<Emplayee> emplayeeList = GetEmplayeeList();  //获取员工信息列表    
  7.     string empNames = "";                             //员工名称字段  
  8.     emplayeeList.ForEach(a => empNames += a.EmplayeeName + ",");  
  9.     empNames = empNames.TrimEnd(',');  
  10.     Console.WriteLine(empNames);                     //输出:张三,李四,王五  
  11. }  

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

[csharp] view plain copy
  1. /// <summary>    
  2. /// 使用ForEach将部门列表与员工列表关联   
  3. /// </summary>     
  4. public static void JoinDepartmentList()  
  5. {  
  6.     List<Department> departmentList = GetDepartmentList();   //获取部门信息列表    
  7.     List<Emplayee> emplayeeList = GetEmplayeeList();         //获取员工信息列表    
  8.     departmentList.ForEach(a => a.EmplayeeList = emplayeeList.Where(e => e.DepartmentId == a.DepartmentId).ToList());  
  9.   
  10.     //使用ForEach输入结果  
  11.     departmentList.ForEach(a => Console.WriteLine(String.Format("{0}:员工数量:{1}", a.DepartmentName, a.EmplayeeList.Count)));  
  12. }  

其它代码:

[csharp] view plain copy
  1. /// <summary>    
  2. /// 部门信息类    
  3. /// </summary>    
  4. public class Department  
  5. {  
  6.     /// <summary>    
  7.     /// 部门ID    
  8.     /// </summary>    
  9.     public int DepartmentId { get; set; }  
  10.   
  11.     /// <summary>    
  12.     /// 部门名称    
  13.     /// </summary>    
  14.     public string DepartmentName { get; set; }  
  15.   
  16.     /// <summary>  
  17.     /// 员工列表  
  18.     /// </summary>  
  19.     public List<Emplayee> EmplayeeList { get; set; }  
  20. }    
  21.   
  22. /// <summary>    
  23. /// 员工信息类    
  24. /// </summary>    
  25. public class Emplayee  
  26. {  
  27.     /// <summary>    
  28.     /// 员工姓名    
  29.     /// </summary>    
  30.     public string EmplayeeName { get; set; }  
  31.   
  32.     /// <summary>    
  33.     /// 部门ID    
  34.     /// </summary>    
  35.     public int DepartmentId { get; set; }  
  36. }  
[csharp] view plain copy
  1. /// <summary>    
  2. /// 获取员工信息列表    
  3. /// </summary>    
  4. /// <returns></returns>    
  5. public static List<Emplayee> GetEmplayeeList()  
  6. {  
  7.     List<Emplayee> emplayeeList = new List<Emplayee>();  
  8.     Emplayee emplayee1 = new Emplayee() { EmplayeeName = "张三", DepartmentId = 1, };  
  9.     Emplayee emplayee2 = new Emplayee() { EmplayeeName = "李四", DepartmentId = 2, };  
  10.     Emplayee emplayee3 = new Emplayee() { EmplayeeName = "王五", DepartmentId = 2, };  
  11.     emplayeeList.Add(emplayee1);  
  12.     emplayeeList.Add(emplayee2);  
  13.     emplayeeList.Add(emplayee3);  
  14.     return emplayeeList;  
  15. }  
  16.   
  17. /// <summary>    
  18. /// 获取部门信息列表    
  19. /// </summary>    
  20. /// <returns></returns>    
  21. public static List<Department> GetDepartmentList()  
  22. {  
  23.     List<Department> departmentList = new List<Department>();  
  24.     Department department1 = new Department() { DepartmentId = 1, DepartmentName = "研发部" };  
  25.     Department department2 = new Department() { DepartmentId = 2, DepartmentName = "人事部" };  
  26.     Department department3 = new Department() { DepartmentId = 3, DepartmentName = "财务部" };  
  27.     departmentList.Add(department1);  
  28.     departmentList.Add(department2);  
  29.     departmentList.Add(department3);  
  30.     return departmentList;  
posted @ 2018-06-22 10:06  Net-Spider  阅读(951)  评论(0)    收藏  举报