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

C#空条件函数调用中是否会计算函数参数?

C#空条件函数调用的实参计算规则

在C#的空条件运算符(?.)调用中,实参不会总是被计算——当左侧对象为null时,整个调用表达式会直接短路,既不会执行目标函数调用,也不会计算传入的实参。

以你给出的代码示例obj?.foo(bar());为例:

  • 若obj不为null,会先执行bar()得到实参,再正常调用obj.foo(...);
  • 若obj为null,程序会直接跳过foo的调用流程,bar()完全不会被执行。

这是C#空条件运算符的核心特性:短路求值,既能避免对象为null时的不必要计算,也能防止额外逻辑被误执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:40:32