class Data {
public int A { get; set; }
public string Name { get; set; }
public override string ToString()
{
return "A:"+A+",Name:"+Name;
}
}
List<Data> datas = new List<Data>() {
new Data() { A = 1,Name = "me"},
new Data(){ A = 10,Name = "hello"},
new Data(){ A = 5,Name = "world"}
};
var newData = from m in datas group m by m.A into groups select new {key = groups.Key,num= groups.Count() };
foreach (var data in newData) {
Console.WriteLine(data);
}group m by m.A 表示以元素的属性A来分组
分组信息into放到groups里
通过groups.Key访问分组的属性,Count()访问该分组的条数