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

关于C# Action委托中未声明参数却可赋值的技术疑问

问题解答:为什么Action<bool>委托的Lambda参数无需显式声明类型?

这段代码里的isVisible并非没被声明,只是编译器帮你做了类型推断,自动确定了它的类型。

具体来说:

  • Action<bool>是C#预定义的泛型委托,它明确要求接受一个bool类型的参数,且没有返回值。
  • 当你把Lambda表达式(isVisible) => { }赋值给这个委托变量时,编译器会根据委托的泛型参数<bool>,自动推断出Lambda参数isVisible的类型是bool——相当于你写了(bool isVisible) => { },只是省略了显式的类型声明。

这种类型推断是C#的语法糖,目的是让代码更简洁。只有当Lambda表达式有明确的“目标类型”(比如这里的Action<bool>)时,编译器才能完成这种推断;如果没有明确的目标类型,就必须显式声明参数类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:50:27