用于组合列表的 lambda 扩展
如何使用第二个表达式仅选择第一个表达式中具有 ID 的表达式?
var list1= from x in objects select x.id;
results=results.Where(r=>r.id== ???? )
我希望结果只是那些来自 listA
tia
的 id编辑:我已更正,还有另一个导致问题的问题,我将单独询问。
how do i use the second expression to select only those with ID from the first?
var list1= from x in objects select x.id;
results=results.Where(r=>r.id== ???? )
I want the results to be only those with id from listA
tia
EDIT:i stand corrected, there was another issue causing problem which i will ask about separately.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
有点猜测(还没有尝试运行它),但是:
请注意,这应该替换您问题中的两行代码。
A bit of a guess (haven't tried running it), but:
Note that this should replace both the lines of code you have in your question.
就像这样...
Like so...
如果你想要一些性能(list.Contains() 的复杂度为 O(n)),你可以选择
If you want some performance (list.Contains() has an O(n) complexity) you could go with
也许你想要这个?
results.Where(r=> 对象.Any(o => o.id == r.id) )
Maybe you want this then?
results.Where(r=> objects.Any(o => o.id == r.id) )
如果您总是只需要第一个元素的 ID ,您可以将其存储到变量并将其用于 lambda 表达式
,或者直接使用如下所示:
If You always need only the first element's ID , You can store it to variable and use it to lambda expression
Or, use directly like this: