参数1:无法从';转换;System.Collections.Generic.IEnumerable<;匿名类
本文关键字:IEnumerable Collections Generic lt System 转换 参数 | 更新日期: 2023-09-27 17:59:08
我对linq问题中的方法Count()有问题:
IEnumerable<BookListRecord> bookListRecord;
IEnumerable<Tuple<string, int>> listTeacher = new List<Tuple<string, int>>(
from b in bookListRecord
group b by b.Teacher into g
select new { g.Key, Count = g.Count()}
);
我得到错误:参数1:无法从"System.Collections.Generic.IEnumerable <AnonymousType#1>
"转换为"int"
当我使用:
select new {g.Key, g.Count()}
我得到错误:无效的匿名类型成员声明符。匿名类型成员必须使用成员分配、简单名称或成员访问权限声明。
请问老师,我如何将记录数与列表相匹配?谢谢你的回答。
问题是您将变量键入为IEnumerable<Tuple<string, int>>
,但您正在使用select new {g.Key, g.Count()}
创建匿名类型。将其更改为以下内容。
IEnumerable<Tuple<string, int>> listTeacher =
(from b in bookListRecord
group b by b.Teacher into g
select Tuple.Create( g.Key, g.Count()))
.ToList()