c# - 如何编写没有 Lambda 表达式的函数?

标签 c# anonymous-function lambda

我只是在想如何转换这个: List.Where(X=>X>5); 到非 lambda 表达式代码。 我不知道如何让 Func 在这里工作。

最佳答案

在不使用 lambda 表达式的情况下创建委托(delegate)有两种相当简单的可能性:

  • 写一个方法,使用方法组转换

    private static bool GreaterThan5(int x)
    {
        return x > 5;
    }
    
    ...
    
    var query = list.Where(GreaterThan5);
    
  • 使用匿名方法

    var query = list.Where(delegate(int x) { return x > 5; });
    

虽然这些都没有使用 lambda 表达式那么清楚。对于您实际想要捕获局部变量的更复杂的示例,“编写单独的方法”版本会变得更加复杂。

关于c# - 如何编写没有 Lambda 表达式的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690584/

相关文章:

c# - 可以加载到 Windows 窗体控件中的最大数据量是多少?

php - 在 PHP 中执行纯匿名函数

javascript - 将函数调用的结果作为 javascript/node.js 中的函数进行调用

c# - 从 lambda 表达式生成 sql server 查询的替代方法

c# - 无法使用 EWS 访问交换设备邮箱

c# - ASP.NET Core 找不到 View

Javascript 沙盒单元测试

c++ - 为什么这些 lambda 被认为是不同的类型?

c++ - Lambda 函数作为构造函数中 std::function 的默认参数

c# - 通过变量名获取对象中item的值