有下面类
static void Main(string[] args)
{
List<dog> t1 = new List<dog>();
dog d1 = new dog();
d1.color = "红色";
d1.name = "花1";
d1.size = 30;
dog d2 = new dog();
d2.color = "红色";
d2.name = "花2";
d2.size = 20;
dog d3 = new dog();
d3.color = "黄色";
d3.name = "花3";
d3.size = 30;
dog d4 = new dog();
d4.color = "黑色";
d4.name = "花4";
d3.size = 30;
......
t1.Add(d1);
t1.Add(d2);
t1.Add(d3);
t1.Add(d4);
....
}
}
class dog
{
public string name { get; set; }
public string color { get; set; }
public int size { get; set; }
}
请教 用LINQ 语法计算出t1各种色的DOG有多少个?
------解决思路----------------------
以color分组,取Count
------解决思路----------------------
var temp = from p in t1
group p by p.color into g
select new
{
color = g.Key,
count = g.Count()
};
------解决思路----------------------
var query = from d in t1
group d by d.color into g
select g;
foreach(var g in query)
{
Console.Write("{0}狗狗有{1}只",g,query[g])
}
------解决思路----------------------
这里错了,应该是g.Count()
------解决思路----------------------
或者:
var temp1 = t1.GroupBy(p => p.color).Select(p => new
{
color = p.Key,
count = p.Count()
});