要添加一个值并将其分配回自身,我会这样做:
x = x + y;
为了制作这种速记,我可以像这样使用add assignment operator:
x += y;
&&&&和||运营商为此?:
x = x && y;
我尝试了下面的内容,结果与上面的结果不一样:
x &= y;
答案 0 :(得分:2)
您可以看到C#运算符列表here。
x& = y - 和分配。和y的值与x的值,存储 结果为x,并返回新值。
x | = y - OR赋值。或者y的值与x的值,存储 结果为x,并返回新值。
当您说“结果不一样”时,您能提供您正在测试的x和y的示例值吗?
我认为你所观察到的是逻辑/按位AND / OR(& / |)和条件AND / OR(&& / ||)之间的区别。如果不需要为了弄清楚表达式的值,后者将不会评估 y 。如果 y 的评估有副作用,您会注意到按位运算符和条件运算符之间存在差异。
答案 1 :(得分:1)
不,没有,因为它没有多大意义。
根据MSDN,C#中只有以下短操作符:
x += y – increment
x -= y – decrement
x *= y – multiplication assignment
x /= y – division assignment
x %= y – modulus assignment
x &= y – AND assignment
x |= y – OR assignment
x ^= y – XOR assignment
x <<= y – left-shift assignment
x >>= y – right-shift assignment