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

确认C#中static bool M(int x)=>x%2==0的正确委托匹配选项

关于Func、Action、Predicate的委托匹配问题确认

我正在备考,已查阅Func、Action和Predicate的定义,明确Action无返回值,Predicate固定返回bool类型。现有题目代码:

static bool M (int x) => x%2 == 0;

给出的选项为:

A) Func <bool, int> A = M;

B) Func <int, bool> B = M;

C) Action <int, bool> C = M;

D) Predicate <int> D = M;

根据所学知识,我认为正确选项是B和D,烦请帮忙确认是否正确?


你的判断完全正确,以下是各选项的具体分析:

  • 选项A:Func<bool, int> 代表输入bool类型、返回int类型的委托,但方法M是输入int、返回bool,签名不匹配,错误。
  • 选项B:Func<int, bool> 代表输入int类型、返回bool类型的委托,和M的签名完全一致,匹配成功,正确。
  • 选项C:Action系列委托的核心特性是无返回值,但方法M有bool类型的返回值,类型不兼容,错误。
  • 选项D:Predicate<int> 是专门定义的输入int类型、返回bool类型的委托,和M的签名完全匹配,正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:02:49