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

C#中判断可空整数非空且不等于特定值的简写方法

C#可空整数非空且不等于特定值的简写方式

当然有几种更简洁的写法可以替代你原有的判断逻辑,下面是常见的几种实现:

  • 模式匹配(C# 7.0+)
    这种方式可以一次性完成空值检查和变量赋值,代码更紧凑:

    int? action = null;
    var actionText = action is int val && val != 0 ? val.ToString() : "-";
    
  • 扩展方法封装
    如果这类判断在代码中频繁出现,可以封装一个扩展方法来复用逻辑:

    public static class NullableIntExtensions
    {
        public static bool HasValueNotEqualTo(this int? nullableInt, int targetValue)
        {
            return nullableInt.HasValue && nullableInt.Value != targetValue;
        }
    }
    

    调用时就会非常简洁:

    var actionText = action.HasValueNotEqualTo(0) ? action.ToString() : "-";
    
  • 空合并运算符结合判断
    利用??给可空类型一个不会和目标值冲突的默认值,再做判断(注意默认值不能等于你要排除的特定值):

    var actionText = (action ?? -1) != 0 ? action.ToString() : "-";
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:45:58