You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何传入Lambda表达式调用函数?附C#代码示例

如何用Lambda表达式调用接收Func<string, string>的方法

首先明确:Func<string, string>是C#里的委托类型,代表接受一个string参数、返回string结果的方法,你要调用的add方法正是接收这种委托作为参数。

你写的add((val) => "hello")本身就是合法的调用方式,还可以根据情况简化:

  • 省略参数类型:编译器能根据委托类型自动推断参数val是string类型,可写成:
    add(val => "hello")
    
  • 如果Lambda里根本没用到这个参数(比如你这里直接返回"hello",完全没使用val),可以用下划线_代替参数名,更清晰表示参数未被使用:
    add(_ => "hello")
    

另外要注意:你的类里必须定义一个Func<string, string>类型的字段textval,否则textval = val;这行代码会报错,完整的类结构示例如下:

public class YourClass
{
    // 定义对应类型的字段
    private Func<string, string> textval;

    public void add(Func<string, string> val)
    {
        textval = val;
    }
}

调用时只需创建类实例,再用上述Lambda写法调用即可:

var obj = new YourClass();
obj.add(_ => "hello");

内容的提问来源于stack exchange,提问作者redoc01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:42:04