GroupTest.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*-------------------------------------------------------------------------
  2. * 功能描述:GroupTest
  3. * 作者:xulisong
  4. * 创建时间: 2019/1/25 14:54:28
  5. * 版本号:v1.0
  6. * -------------------------------------------------------------------------*/
  7. using FWindSoft.SystemExtensions;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using FWindSoft.Tools;
  14. namespace Test
  15. {
  16. public class GroupTest
  17. {
  18. public class Student
  19. {
  20. public string School { get; set; }
  21. public string Grade { get; set; }
  22. public string Class { get; set; }
  23. public string Name { get; set; }
  24. }
  25. public static void Dd()
  26. {
  27. List<Student> students = new List<Student>();
  28. students.Add(new Student() {School = "一中", Grade = "二年", Class = "三班",Name="AAA"});
  29. students.Add(new Student() { School = "一中", Grade = "二年", Class = "三班", Name = "BBB" });
  30. students.Add(new Student() { School = "二中", Grade = "二年", Class = "三班", Name = "CCC" });
  31. students.Add(new Student() { School = "二中", Grade = "三年", Class = "四班", Name = "DDD" });
  32. students.Add(new Student() { School = "一中", Grade = "三年", Class = "三班", Name = "EEE" });
  33. students.Add(new Student() { School = "一中", Grade = "三年", Class = "三班", Name = "FFF" });
  34. var node1 = DataUtil.CreateTree(students,
  35. new List<Func<Student, string>>() {s => s.School, s => s.Grade, s => s.Class});
  36. var node2 = students.GroupTree(s => s.School).ThenGroupTree(g => g.Grade).ThenGroupTree(g => g.Class);
  37. }
  38. }
  39. }