从内部 Select 引用外部 SelectMany 参数
我以为我之前已经可以使用它了,但我只是没有看到它:
discounts 是一个 Dictionary
。数据是一个List
。
var d = discounts.Keys.SelectMany(
k =>
data.Where( l => l.PartTypeID.Equals( k.PartTypeID ) ) )
.Select( s => new { k, l } );
错误是,名称“k”(和“l”)在当前上下文中不存在。
我最终想要做的是将字典中的 double 应用于数据中所有匹配的 PartType。
I thought I had got this to work before, but I just don't see it:
discounts is a Dictionary<PartType, double>
. data is a List<PartType>
.
var d = discounts.Keys.SelectMany(
k =>
data.Where( l => l.PartTypeID.Equals( k.PartTypeID ) ) )
.Select( s => new { k, l } );
The error is, the name 'k' (and 'l') does not exist in the current context.
What I eventually want to do is apply the double
from the dictionary to all the matching PartTypes in data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我怀疑你的意思是:
……但如果没有更多信息,很难说清楚。老实说,看起来您确实想要加入,例如
I suspect you mean:
... but it's hard to tell without more information. To be honest it looks like you really want a join, e.g.
l
位于Where
中 lambda 的上下文中。我认为你的意思是s =>;新的{k,s}
。另外你的括号似乎是错误的。第 3 行的最后一个括号应该在第 4 行。The
l
is in the context of the lambda in theWhere
. I think you means => new {k, s}
. Also your parentheses seem wrong. That last parentheses on line 3 should be on line 4.