赋值运算符
下图列出了C#支持的赋值运算符:
请看下图的实例,了解C#中所有可用的赋值运算符:
当上图的代码被编译和执行时,它会产生下列结果:
- Line 1 – = c 的值 = 21
- Line 2 – += c 的值 = 42
- Line 3 – -= c 的值 = 21
- Line 4 – = c 的值 = 441
- Line 5 – /= c 的值 = 21
- Line 6 – %= c 的值 = 11
- Line 7 – <<= c 的值 = 44
- Line 8 – >>= c 的值 = 11
- Line 9 – &= c 的值 = 2
- Line 10 – ^= c 的值 = 0
- Line 11 – |= c 的值 = 2
杂项运算符
下表列出了C#支持的其他一些重要的运算符,包括sizeof、typeof和 ? :。
运算符描述实例sizeof()返回数据类型的大小。sizeof(int),将返回4.typeof()返回class的类型。typeof(StreamReader);&返回变量的地址。&a;将得到变量的实际地址。变量的指针。a;将指向一个变量。? :条件表达式 如果条件为真 ? 则为X :否则为Yis判断对象是否为某一类型。If( Ford is Car)//检查Ford是否是Car类的一个对象。as强制转换,即使转换失败也不会抛出异常。
- Object obj = new StringReader(“Hello”);
- StringReader r = obj as StringReader;
当上图的代码被编译和执行时,它会产生下列结果:
- int 的大小是 4
- short 的大小是 2
- double 的大小是 8
- b 的值是 30
- b 的值是 20
C#中的运算符优先级
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。例如X=7+3 x 2,在这里,X被赋值为13,而不是20,因为运算符*具有比+更高的优先级,所以首先计算乘法3 x 2,然后再加上7。下图将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
实例:
当上图的代码被编译和执行时,它会产生下列结果:
- (a + b) x c / d 的值是 90
- ((a + b) x c) / d 的值是 90
- (a + b) x (c / d) 的值是 90
- a + (b x c) / d 的值是 50