当前位置: 移动技术网 > IT编程>开发语言>c# > C#集合中根据多个字段分组 group by linq表达式

C#集合中根据多个字段分组 group by linq表达式

2019年10月18日  | 移动技术网IT编程  | 我要评论
void Main() { var empList =new List<Employee> { new Employee {ID = 1, FName = "John", Age = 23, Sex = 'M'}, new Employee {ID = 2, FName = "Mary", Age ... ...

 

 

void main()
{
     var  emplist =new list<employee>
     {
        new employee {id = 1, fname = "john", age = 23, sex = 'm'},
        new employee {id = 2, fname = "mary", age = 25, sex = 'f'},
        new employee {id = 3, fname = "amber", age = 23, sex = 'm'},
        new employee {id = 4, fname = "kathy", age = 25, sex = 'f'},
        new employee {id = 5, fname = "lena", age = 27, sex = 'f'},
        new employee {id = 6, fname = "bill", age = 28, sex = 'm'},
        new employee {id = 7, fname = "celina", age = 27, sex = 'f'},
        new employee {id = 8, fname = "john", age = 28, sex = 'm'}
     };
       
  //这里是根据age,sex进行分组 // query with lamda expression g.key代表age和sex两字段,count为新增字段 // 最终返回的集合querywithlamda包含字段:age、sex、count var querywithlamda = emplist.groupby(x => new { x.age, x.sex}) .select(g=>new {g.key, count=g.count()}); //query with standard expression<br> //返回结果同上 var query=from el in emplist group el by new {el.age,el.sex} into g select new {g.key, count=g.count()}; foreach (var employee in query /* or querywithlamda */ ) console.writeline(employee.count); } public class employee { public int id {get;set;} public string fname {get;set;} public int age {get;set;} public char sex {get;set;} }

 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网