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

C#代码报错Invalid Expression Term '<',求问题原因及规避方法

问题原因及解决办法

嘿,这个错误其实是C#里非常常见的语法小疏漏,我来给你理清楚:

错误根源

C#的逻辑运算符&&要求左右两侧都必须是完整的布尔表达式(也就是能返回true/false的语句)。你写的代码里:

hour > 0 && < 12

右边的< 12缺少了要比较的变量——编译器完全不知道你要拿什么和12做比较,自然会抛出「Invalid Expression Term '<'」的错误。同样的问题也出现在hour >= 12 && < 18这一行里。

修正后的代码

只需要在每个<前重复变量hour,让两边都成为完整的比较表达式就行:

int hour = 10;
if (hour > 0 && hour < 12) 
    Console.WriteLine("It's morning.");
else if (hour >= 12 && hour < 18) 
    Console.WriteLine("It's afternoon.");
else 
    Console.WriteLine("It's evening.");

未来避免这类问题的小技巧

  • 写复合条件时,时刻提醒自己:逻辑运算符(&&/||)的两边都得是独立可运行的布尔判断,不能像自然语言那样省略重复的主语(变量)
  • 对于复杂条件,可以拆成单独的布尔变量,可读性更高也不容易出错,比如:
    bool isMorning = hour > 0 && hour < 12;
    bool isAfternoon = hour >= 12 && hour < 18;
    if (isMorning) { ... }
    
  • 写完代码后快速过一遍条件语句,检查每个比较运算符的左右两侧是不是都有明确的操作数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:51:23