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

C#:如何在空值检查后声明可后续使用的局部变量?

问题

Is和As运算符可赋值局部变量以供后续使用。是否存在类似方式,可在空值检查后声明一个可后续使用的局部变量?

用户期望的写法示例:

if(Factory() != null factoryResult)
{
  factoryResult.UsingResult();
}
回答

在C# 7.0及更高版本里,你可以用空值模式匹配直接实现这个需求,写法如下:

if (Factory() is {} factoryResult)
{
    factoryResult.UsingResult();
}

如果需要明确指定变量类型,也可以这么写:

if (Factory() is MyType factoryResult)
{
    factoryResult.UsingResult();
}

这种写法会自动完成空值检查,同时把非空的返回值赋值给factoryResult,这个变量在if的代码块里就能直接使用,完全满足你的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:39:53