C# 在lambda表达式内调用函数
在C语言中,是否可以在lambda表达式中调用函数 例如,以下是lambda表达式的一些内容:C# 在lambda表达式内调用函数,c#,function,lambda,C#,Function,Lambda,在C语言中,是否可以在lambda表达式中调用函数 例如,以下是lambda表达式的一些内容: (a => a.testBool && a.testBool2) 是否可以将上述内容写入函数,并在lambda表达式内调用该函数以获得相同的结果 提前谢谢 编辑 在我最初的帖子中,我没有声明这是针对dbSet的 我在测试对象a中创建了以下函数,如下所示: public bool testBool() { return true; } 调用以下代码时: (a =>
(a => a.testBool && a.testBool2)
是否可以将上述内容写入函数,并在lambda表达式内调用该函数以获得相同的结果
提前谢谢
编辑
在我最初的帖子中,我没有声明这是针对dbSet的
我在测试对象a中创建了以下函数,如下所示:
public bool testBool()
{
return true;
}
调用以下代码时:
(a => a.testBool()).ToList()
我得到这个错误:
LINQ to实体无法识别“Boolean testBool”方法
方法,而此方法无法转换为存储表达式
当然,如果它是在类a中声明的函数
public class a
{
bool testBool()
{
...
}
bool testBool2()
{
...
}
}
然后你可以做:
ListA.Where(a => a.testBool() && a.testBool2()).ToList();
当然,您可以从lamda调用方法,lambda也是方法。它们没有什么特别之处。因此,您可以在普通方法中执行任何操作。您是否尝试将上述内容写入函数,并在lambda中调用该函数?您是使用lambda创建委托还是创建表达式树?如果您试图创建一个委托,这很容易。如果你试图创建一个表达式树,这仍然是可能的,但要复杂得多。这确实有效吗?用空函数?你是对的,更正了答案;该方法需要返回一个布尔值;它应该是Linq到对象。不要尝试使用Linq到SQLQ您是否将lambda中的“a”的投影实例与类“a”混淆了。在您的示例中,您在哪里实例化?@DaveBecker?我假设ListA是已经包含项的列表的实例。答案的这一部分在我看来没问题。