C# 运算符的优先级和关联性
表1 显示了 C#运算符的优先级,其中顶部的运算符有最高的优先级(即在包
含多个运算符的表达式中,最先计算该运算符)。
除了运算符优先级,对于二元运算符,需要注意运算符是从左向右还是从右向左计算。除了少数运算符,所有的二元运算符都是左关联的。例如:
x + y + z
就等于:
(x + y) + z
需要先注意运算符的优先级,再考虑其关联性。在以下表达式中,先计算 y 和 z 相乘,再把计算的结果分配给 x,因为乘法的优先级高于加法:
x + y * z
“
关联性的重要例外是赋值运算符,它们是右关联。下面的表达式从右向左计算:
x = y = z
因为存在右关联性,所有变量 x、y、z 的值都是 3,且该运算符是从右向左计算的。如果这个运算符是从左向右计算,就不会是这种情况:
int z = 3;
int y = 2;
int x = 1;
x = y = z;
”
一个重要的、可能误导的右关联运算符是条件运算符。表达式
a ? b: c ? d: e
等于:
a = b: (c ? d: e)
这是因为该运算符是右关联的。
注意
在复杂的表达式中,应避免利用运算符优先级来生成正确的结果。使用圆括号指定运算符的执行顺序,可以使代码更整洁,避免出现潜在的冲突。
往期推荐
C# 迭代器
C# 执行 SQL 语句
C# 连接数据库
C# 接口的实现与继承
C# 泛型的使用
Love life,love yourself
关注小编不迷路呦~
C# 运算符的优先级和关联性相关推荐
- VC++运算符与优先级
C++的优先级 优先级 操作符 结合性 01: :: 左 02: . -> [] () 左 03: ++ -- ~ ! - + & * ...
- C语言语法之运算符及优先级
注:该内容整理自以下链接. http://blog.csdn.net/huangblog/article/details/8271791 表:C语言运算符及优先级 优先级 运算符 名称或含义 使用形式 ...
- (4)javascript的运算符以及运算符的优先级
运算符的使用方法 在javascript的程序中要完成各种各样的运算,是离不开运算符的. 在javascript中,按运算符类型可以分为算术运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符等. ...
- 运算符中,优先级高低总结。
运算符中,优先级高低总结.
- 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(1-12)|| 运算符的优先级问题 ||输出小写的a-z以及大写的Z—A||求出1-1/2+1/3-1/4…..1/
判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数, 其各个位上数字立方和等于其本身.例如: 153 = 1*1*1 + 5*5*5 + 3*3*3 ...
- c++自底向上算符优先分析_c语言运算符的优先级
点击上方关注我们获取更多 运算符的优先级&结合性 当c语言出现表达式时,表达式的运算结果就会和运算符的优先级有关,优先级高的先运算.优先级相同时,根据运算符的结合性,左结合的运算符先算左边,右 ...
- 15、MySQL运算符的优先级
运算符的优先级决定了不同的运算符在表达式中计算的先后顺序,下表列出了 MySQL 中的各类运算符及其优先级. 优先级由低到高排列 运算符 1 =(赋值运算).:= 2 II.OR 3 XOR 4 &a ...
- 运算符的优先级和实际操作
运算符的优先级 运算符实际操作
- 说说C语言运算符的“优先级”与“结合性”
本文链接:https://blog.csdn.net/steedhorse/article/details/5903974 论坛和博客上常常看到关于C语言中运算符的迷惑,甚至是错误的解读.这样的迷惑或 ...
最新文章
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
- 设计微服务架构需要掌握的基础知识
- Cpp 对象模型探索 / 父类和子类调用构造函数和析构函数的顺序
- Binary Tree Non-recursive Traversal
- leetcode--207. 课程表
- TensorFlow 2.X中的动手NLP深度学习模型准备
- 输入三个数,按照由大到小的顺序输出
- [0716] Jsoi B Rsss
- Python中的reshape()
- PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)
- java学习过程记录
- 1.2、安装Django-1.5.1及所需要的Python2.74环境
- 会java c php三种语言_php java net三种语言的区别
- CentOS “libc.so.6: version ‘GLIBC_2.14‘ not found“解决方法,同理‘GLIBC_2.15‘ not found“
- MCSE 2012之应用程序控制策略AppLocker
- Win10安装YOLOv3.0
- 力扣刷题之峰与谷(python)
- 详解多级目标检测体系结构Cascade RCNN
- 用 Python 将 matplotlib 图表集成到 PDF 中
- 力扣 25. K 个一组翻转链表