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

C#条件判断代码简化咨询:是否需重复变量及下划线语法解析

关于C#条件判断简化与弃元语法的说明

1. 范围判断的简化写法

你完全可以不用重复书写iValue,有几种简洁的替代方式:

  • C# 9.0及以上版本:模式匹配语法
    用is关键字结合范围判断,搭配逻辑与and,写法更紧凑:
    if (iValue is >= 4 and <= 10) { /* ... other code ... */ }
    
  • 自定义扩展方法(全版本适用)
    如果需要在多处复用这个范围判断逻辑,可以封装成扩展方法,让代码更具可读性:
    public static class IntExtensions
    {
        public static bool IsBetween(this int value, int min, int max)
        {
            return value >= min && value <= max;
        }
    }
    
    调用时直接写:
    if (iValue.IsBetween(4, 10)) { /* ... other code ... */ }
    

2. _ = ...中下划线的含义

这个下划线是C#里的弃元(Discard),作用是明确表示我们不需要某个表达式的返回值,只是为了执行表达式本身。
常见使用场景:

  • 调用有返回值但不需要结果的方法:比如某些方法返回操作状态,但你只关心操作执行完成,就可以写_ = SomeReturningMethod();
  • 解构操作时忽略部分返回值:比如解构元组时,只需要其中一部分值,var (_, age) = GetUserInfo();,这里_表示忽略第一个返回的用户名字段,只取年龄。
  • 编译器会对弃元做优化,不会为它分配内存空间,同时还能避免“未使用变量”的编译器警告,比定义一个不用的变量更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:15:40