表达式概念
表达式是由一个或多个操作数或零个或多个运算符组成的序列,其计算结果为一个值、对象、方法或命名空间。
表达式可以包含文本值、方法调用、运算符以及其操作数、或简单名称。简单名称可以是变量名、类型成员名、方法参数名、命名空间名或类型名。
表达式可以使用运算符(运算符又可以使用其他表达式作为参数)或方法调用(方法调用的参数又可以是其他方法参数),因此表达式可以很简单,也可以非常复杂。
运算符种类
运算符类型有算数运算符、关系运算符、赋值运算符、自运算符、逻辑运算符和条件运算符。
算数运算符是一个二元运算符,主要包括:+(正)、-(负)、+(加)、-(减)、*(乘)、/(除)、%(模)
关系运算符包括:==、!=、>、<、>=、<=
赋值运算符包括:=(赋值)、*=(复合赋值,支持:+=、-=、*=、/=、%=、&=、|=、!=、>>=、<<=)、(T x)=>y(匿名函数,lambda表达式)
自运算符包括:++x(先+1在使用)、--x(先-1在使用)、x++(先使用在+1)、x--(先使用在-1)
逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)
条件运算符:x?y:z (是C#中的唯一一个三元运算符,表示如果x为true则计算结果y,为false则计算结果z)
运算符的优先级
1、带()号、[]、.号的,new,typeof,sizeof,checked,x++,x--级别最高
2.++x,--x,+,!
3.算数运算符,先x,/,%,再+,-
4.关系运算符,先>,<,>=,<=,is,as再==和!=
5.条件逻辑运算符&&和||
6.条件运算符x?y:z
7.赋值运算符=,*=,/=,+=,-=