62,046
社区成员
发帖
与我相关
我的任务
分享
static List<User> list = new List<User>()
{
new User(){id=1001 ,name="语文",buyer="A"},
new User(){id=1001 ,name="语文",buyer="A"},
new User(){id=1001 ,name="数学",buyer="A"},
new User(){id=1001 ,name="数学",buyer="B"},
new User(){id=1001 ,name="数学",buyer="B"},
new User(){id=1002 ,name="英语",buyer="C"},
new User(){id=1005 ,name="英语",buyer="A"},
new User(){id=1005 ,name="英语",buyer="A"},
new User(){id=1005 ,name="英语",buyer="B"},
new User(){id=1004 ,name="计算机",buyer="A"},
new User(){id=1007 ,name="计算机",buyer="C"},
};
static void Main(string[] args)
{
var q = list.GroupBy(x => x.name).Select(x => new
{
name=x.Key,
优秀=x.Count(y=>y.buyer=="A"),
普通 = x.Count(y => y.buyer == "B"),
差 = x.Count(y => y.buyer == "C"),
});
foreach (var item in q)
{
Console.WriteLine(item.name);
Console.WriteLine("优秀:"+item.优秀);
Console.WriteLine("普通:" + item.普通);
Console.WriteLine("差:" + item.差);
}
Console.ReadLine();
}
public class User
{
public int id { get; set; }
public virtual string name { get; set; }
public virtual string buyer { get; set; }
public virtual string idArr { get; set; }
}
[/quote]
SOS 版主,var a= LinqDBContext.onlineorg.Where(x => s.Contains(x.ManagerOrgID));
然后 a 就不能 .tolist 也不能 count()了 。。。。 报错 就因为我调用了一个递归???
static List<User> list = new List<User>()
{
new User(){id=1001 ,name="语文",buyer="A"},
new User(){id=1001 ,name="语文",buyer="A"},
new User(){id=1001 ,name="数学",buyer="A"},
new User(){id=1001 ,name="数学",buyer="B"},
new User(){id=1001 ,name="数学",buyer="B"},
new User(){id=1002 ,name="英语",buyer="C"},
new User(){id=1005 ,name="英语",buyer="A"},
new User(){id=1005 ,name="英语",buyer="A"},
new User(){id=1005 ,name="英语",buyer="B"},
new User(){id=1004 ,name="计算机",buyer="A"},
new User(){id=1007 ,name="计算机",buyer="C"},
};
static void Main(string[] args)
{
var q = list.GroupBy(x => x.name).Select(x => new
{
name=x.Key,
优秀=x.Count(y=>y.buyer=="A"),
普通 = x.Count(y => y.buyer == "B"),
差 = x.Count(y => y.buyer == "C"),
});
foreach (var item in q)
{
Console.WriteLine(item.name);
Console.WriteLine("优秀:"+item.优秀);
Console.WriteLine("普通:" + item.普通);
Console.WriteLine("差:" + item.差);
}
Console.ReadLine();
}
public class User
{
public int id { get; set; }
public virtual string name { get; set; }
public virtual string buyer { get; set; }
public virtual string idArr { get; set; }
}
HisList.GroupBy(q => new { q.project, q.state}).Select(q => new
{
project= q.Key,
state= q.Count()
});