在查询中使用输出参数的 .NET LINQ 调用方法并使用输出值
我有一个对象列表,其中有一个带有几个输出参数的方法。我如何在每个对象上调用此方法,获取输出参数值并稍后在查询中使用它们,也许用于检查 where 子句?
这是否可能,如果可以,请有人通过示例代码进行演示。
谢谢!
I have a list of objects, which has a method that has a couple of out parameters. How do i call this method on each object, get the out parameter values and use them later on in the query, perhaps for checking in a where clause?
Is this possible and if so can someone please demonostrate through sample code.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
以下是访问 LINQ 查询中的输出参数值的一种方法。我不认为您可以在以后的选择中使用来自 where 的输出值:
list.Where(...).Select(...)
MyClass 的实现是这样的;
Here is one way of accessing the values of out parameters in your LINQ query. I dont think that you can use the out-values from say a where in a later select:
list.Where(...).Select(...)
Where MyClass is implemented something like this;
也许您应该使用 for every 循环,然后使用您的查询?
(实际上,在不知道你的代码的情况下很难说出在这种情况下该怎么做最好)
Maybe you should use a for each loop and then use your query?
(Actually, it's hard to say what to do best in this situation without knowing your code)
这使用
Tuple
来自 .NET 4.0,但可以适用于早期版本:This uses
Tuple<T1,T2>
from .NET 4.0, but can be adapted for earlier versions:您可以使用匿名对象和
let
关键字:You could use anonymous objects and the
let
keyword:您可以使用元组(无需任何辅助方法):
输出
本文有一些其他解决方案: https:/ /mydevtricks.com/linq-gems-out-parameters
You can use tuples (without any helper methods):
Output
This article has some additional solutions: https://mydevtricks.com/linq-gems-out-parameters