C# 为什么我能';t访问;第2项:用户名“;
这是正确的 这就是错误所在C# 为什么我能';t访问;第2项:用户名“;,c#,linq,C#,Linq,这是正确的 这就是错误所在 我想知道为什么我不能按“item2.UserName”分组,因为item2.UserName不像temp3那样是一个引用temps随机元素的变量 但是为什么我可以分组呢 您可以按分组,因为名为item1的范围变量(这是此类变量的正式名称)对组可见,您正在尝试这样做,而范围变量item2则不可见 更新 Jon Skeet是一个很棒的地方,在这里你可以找到许多关于范围变量的信息,以及更多关于LINQ内部工作的信息。因为你正在做一个小组。。。into变量temp2仅作为临
我想知道为什么我不能按“item2.UserName”分组,因为
item2.UserName
不像temp3
那样是一个引用temps
随机元素的变量
但是为什么我可以分组呢
您可以按分组,因为名为item1
的范围变量(这是此类变量的正式名称)对组可见,您正在尝试这样做,而范围变量item2
则不可见
更新
Jon Skeet是一个很棒的地方,在这里你可以找到许多关于范围变量的信息,以及更多关于
LINQ
内部工作的信息。因为你正在做一个小组。。。into
变量temp2
仅作为临时变量存在,以便于联接和创建temps
在第一次查询中,变量item1
存在于组之外。。。进入
但为什么我可以按“item1.Name”分组,我认为这与“item2.UserName”相同
from item1 in EL_Course_Courses join item2 in Users on item1.Speaker equals item2.Id into temps
from item3 in temps group item3 by item1.Name into g
//from item3 in temps group item3 by item2.UserName into g
select new {g.Key, Amount=g.Count()}