C# 运算符优先级易踩坑

一、先上结论

算术 > 比较 > 逻辑与(&&) > 逻辑或(||) > 赋值

二、常见的坑

  • || 和 &&
cs 复制代码
if (a || b && c)

// 实际的执行顺序

if (a || (b && c))
  • 字符串拼接 + 数字计算
cs 复制代码
Console.WriteLine("结果:" + 1 + 2);  // 结果:12
  • 三元运算符可读性较差
cs 复制代码
var r = a > b ? a > c ? a : c : b;
  • 非短路运算
cs 复制代码
if (obj != null & obj.Value > 0) // 抛异常
  • 陷阱 短路运算
cs 复制代码
int x = 1;
bool r = x > 0 || x++ > 1;

// r = true

// x = 1
相关推荐
观无3 小时前
VisionPro颜色ROI识别+距离测量
c#
工程师00714 小时前
MQTT 概念详解与 C# 实战
开发语言·c#·mqtt通信
bugcome_com17 小时前
C# 字符串(String)详解与常用操作示例
c#
游乐码18 小时前
c#运算符重载
开发语言·c#
游乐码18 小时前
c#继承的原则
开发语言·c#
游乐码18 小时前
c#内部类和分部类
开发语言·c#
qq_4542450321 小时前
GraphMindStudio 数据操作层解析:基于 SQLite 的封装与自动化存储
sqlite·c#
HY小海21 小时前
【Unity游戏创作】常见的设计模式
unity·设计模式·c#·游戏程序
专注VB编程开发20年1 天前
C#,VB.NET如何用GPU进行大量计算,提高效率?
开发语言·c#·.net
qq_454245031 天前
开源GraphMindStudio工作流引擎:自动化与AI智能体的理想核心
运维·人工智能·开源·c#·自动化