+-
C#--运算符(三)

赋值运算符

下图列出了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