我经常只需要选择的总计数(或其他聚合),通常是在使用LinqPad巡航一些数据时,例如此查询返回核心库中的公共枚举数。
"".GetType().Assembly.GetTypes().Where(t => t.IsPublic && t.IsEnum).Count()
我知道我可以这样做:
(from t in "".GetType().Assembly.GetTypes()
where t.IsEnum && t.IsPublic select t.Name).Count()
但也许是因为在T-SQL中使用了太多年,我发现“select t.Name”有点令人反感。
有没有其他方法可以获得此计数而不说明“select t.Name”
答案 0 :(得分:3)
select t).Count()
或者向另一个方向迈进:
"".GetType().Assembly.GetTypes().Count(t => t.IsPublic && t.IsEnum)
答案 1 :(得分:0)
离开我的头顶,你需要按t
进行分组 from t in "".GetType().Assembly.GetTypes()
where t.IsEnum && t.IsPublic
group t by t into x
select x.Count()