首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
软件编程
C#教程
正文
C#中38个常用运算符的优先级的划分和理解
所属分类:
软件编程
/
C#教程
阅读数: 91
收藏 0
赞 0
分享
在C#中,一共有38个常用的运用符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1、单元运算符和括号。2、常规算术运算符。3、位移运算符。4、比较运算符。5、逻辑运算符。6、各种赋值运算符。7、右位(后缀)单元运算符。
1、在这一级中,有++、--(做为前缀)、()、+、-(做为单元运算符)、!、~。这一级中都是单元运算符,除了其中那一对特殊的具有改变任何运算优先级的括号。这此可以看出,在定义表达式中,那些单元运算符的优先级是很高的,可能是因为它们都直接作用于操作数吧。只有两个单元运算符的优先级不在第一级中,它们因为特殊的原因出现在了后面。
2、在常规算术运算符中,有我们经常使用的*、/、%、+、-,因为他们使用得较多,所以也排在较高的位置。
3、这一级是两个特殊的位操作符,<< 和 >>,它们是所有二元操作符中除常规运算符外优先级最高的了,可能是因为与比较运算符、逻辑运算符比起来,这一组操作符进行的还是数值的计算。
4、比较运算符,包括<、>、<=、>=、==、!=,一共六个,这里有一个特点,就小于优先于大于。
5、逻辑运算符,逻辑运算符原本有四种,但用于单元的“非”运算符排在了前面,所以这里面就只有&、^、|,再加上两个补充的用于提高代码效率的运算符&&、||,共有五个。
6、赋值运算符,这一级最多,几乎前面出现过的二元运算符,在这里加上个“=”号就成为一个赋值运算符。首先当然最基本的赋值运算符“=”;然后是常规算术运算符演变来的“*=、/=、%=、+=、-=”,它们的顺序和常规算术符的顺序一样;然后是位移运算符和逻辑运算符,也按它们演变前的顺序排列,为“<<=、>>=、&=、^=、|=”。因为比较运算符所产生的结果的数据类型和它的运算数的数据类型不同,所以它们没有相应的赋值运算符。
7、最后一级,就是那两个最后的单元运算符后缀版的++、--。它们的出现就是为了做为那两个前缀版的==、--的补充(那两个的优先级太高了,人们需要两个优先级不那么高的),以方便设计表达式,所以这两个的优先级当然要排在最后了。
那么,这38个操作符的优先级顺序就可以写成如下了:(无论是横向还是竖向,越靠前优先级越高)
第一级:++、--(做为前缀)、()、+、-(做为单元运算符时)、!、~。
第二级:*、/、%、+、-。
第三级:<<、>>。
第四级:<、>、<=、>=、==、!=。
第五级:&、^、|、&&、||。
第六级:=、*=、/=、%=、+=、-=、<<=、>>=、&=、^=、|=。
第七级:++、--(做为后缀)。
这只我自己在学C#中的一些总结,其中对于各级的划分方式、各操作符的优先级的理解并不见得正确,只是自己的看法,拿出来与大家分享。
更多精彩内容
其他人还在看
C# SendInput 模拟鼠标操作的实现方法
C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#中 paint()与Onpaint()的区别
paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
评论 0
收藏 0
赞 0
分享
c#中GetType()与Typeof()的区别
c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
将字符串转换成System.Drawing.Color类型的方法
将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C# 抓取网页内容的方法
C# 抓取网页内容的方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
基于C#后台调用跨域MVC服务及带Cookie验证的实现
本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
评论 0
收藏 0
赞 0
分享
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
评论 0
收藏 0
赞 0
分享
Winform跨线程操作的简单方法
线程间操作无效:从不是创建控件“label1”的线程访问它
评论 0
收藏 0
赞 0
分享
C# WINFORM 强制让窗体获得焦点的方法代码
C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#中方括号[]的语法及作用介绍
C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
卡盟是怎么赚钱的?卡盟各个盈利模式介绍
漂洋过海坑死你 海淘代购名为国际大牌实为国产的山寨货
最强PS网银汇款截图:轻松骗走网店17万奢侈品
怎么才能做好移动互联网营销?
816京东免单活动内容、规则 免单攻略
站长必看:让你的网站多一种赚钱方法
站长故事
更多
直击苹果发布会:苹果iWatch能否能撑起一个市场?
一成不变的站长到底还能活多久?
创业失败:一个屌丝站长4年互联网的辛酸经历
八零后站长们:我们都是“囧”的一代
浅谈网站站长之现状
90后男子新婚杀妻后将照片发朋友圈续:被判死缓