C#学习笔记 5 运算符

TAG
C#
原创
编写日期
May 14, 2017
C#运算符 在C#里,运算符分为七类。分别是赋值运算符、算术运算符、关系运算符、类型测试运算符、逻辑运算符、空合并运算符、成员访问符。下面我来一一介绍一下这七种运算符。
 
1 赋值运算符 = += -= *= /= %= &= |= ^= <<= >>= =>
作为最基础以及最简单的运算符,作用就是将一个值通过运算符赋给一个变量或者常量。=当然不用说,就是算术中的等于号。 +=:i+=1 就是i=i+1。-=也一样,i-=1就是i=i-1的缩写。这样既是方便,又是提高了代码的简洁性。 x=y:赋值。 x+=y:递增。 x-=y:递减。 x*=y:x乘以y,结果存储在x中,并返回新的值。 x/=y:x除以y,结果存储在x中,并返回新的值。 x%=y:x除以y,余数存储在x中,并返回新的值。 x&=y:AND赋值,判断x与y,结果存储在x中,并返回新的值。 x|=y:OR赋值,判断x或y,结果存储在x中,并返回新的值。 x^=y:XOR赋值,判断x异或y,结果存储在x中,并返回新的值。 x<<=y:将x左移y位,结果存储在x中,并返回新的值。 x>>=y:将x右移y位,结果存储在x中,并返回新的值。 =>:Lambda表达式。
 
2 算术运算符 + - * / % ++ -- +-*/就是数学中的加减乘除号,这没什么好说的。 x%y:取模符号,x除以y,并取余数。 ++x/--x:先给x加一/减一,更新x的存储位置,然后返回x值。 x++/x--:先更新x的存储位置,然后给x加一/减一,最后返回x值。
 
3 关系运算符 最简单常见的是 >(大于)、<(小于)、==(恒等于)、!=(不等于)。 要注意的是,=和==并不一样。=是赋值符号,==是判断两个引用是不是指向同一个实例化对象。这算是零基础新手不理解容易搞混犯错的地方。 除此之外,还有?: 举个例子:i=i<j?3:4 意思就是,如果i确实小于j,true,则i=3(给i赋值为3),如果i大于或者等于j(即不是小于的关系),false,则i=4(给i赋值为4)。
 
4 类型测试运算符 is:is运算符是类型的兼容性。如果求值后的左操作数可以转换为右操作符中指定的类型(静态),则返回true。 as:as运算符是用于类型的转换。返回左操作数并转换为右操作数中指定的类型(静态)。但是当as返回null时,其中T(x)会引发异常。主要用于隐式转显式,也就是装箱。
 
5 逻辑运算符 AND运算符 x&y XOR运算符 x^y OR运算符 x|y 条件OR运算符 x||y 条件AND运算符 x&&y
 
6 空合并运算符 ??运算符称作null(空)合并运算符。 如果左边不为null,则返回左边的值;不然,返回右边的值。 例如: int x = y ?? -1; 如果y不是空值,将y值赋予x;如果y是空值,将-1赋予x。
 
7 成员访问符 点运算符(.)用于成员访问。并且指定类型或命名空间的成员。 例如:
System.Console.Write("hello world!);