C# 是否有一个「;“和赋值运算符”;for&&;还有| |速记?

C# 是否有一个「;“和赋值运算符”;for&&;还有| |速记?,c#,c#-4.0,C#,C# 4.0,要添加值并将其分配回自身,我将执行以下操作: x = x + y; 为了进行速记,我可以使用如下方法: x += y; 是否有类似于此的&&and | |运算符速记法 x = x && y; 我尝试了以下方法,结果与上面不同: x &= y; 您可以看到C#运算符的列表 x&=y–和赋值。y的值和x的值一起存储 将结果输入x,并返回新值 x |=y–或赋值。或者y的值与x的值一起存储 将结果输入x,并返回新值 当你说“结果不一样”时,你能提供你正在测试的x和y的示

要添加值并将其分配回自身,我将执行以下操作:

x = x + y;
为了进行速记,我可以使用如下方法:

x += y;
是否有类似于此的&&and | |运算符速记法

x = x && y;
我尝试了以下方法,结果与上面不同:

x &= y;
您可以看到C#运算符的列表

x&=y–和赋值。y的值和x的值一起存储 将结果输入x,并返回新值

x |=y–或赋值。或者y的值与x的值一起存储 将结果输入x,并返回新值

当你说“结果不一样”时,你能提供你正在测试的x和y的示例值吗?

我认为您所观察到的是逻辑/位AND/OR(&/|)和条件AND/OR(&&/||)之间的区别。如果不需要计算y来计算表达式的值,则后者将不计算y。如果y的计算有副作用,您会注意到按位运算符和条件运算符之间的差异。

不,没有,因为它没有太多意义

根据,C#中只有以下shortand运算符:

x+=y–增量
x-=y–减量
x*=y–乘法赋值
x/=y–除法赋值
x%=y–模数分配
x&=y–和赋值
x |=y–或赋值
x^=y–异或赋值
x=y–右移分配

结果不一样,因为如果
x
为假,我假设
x&&=y
不会计算
y
。不存在短路复合算子。这个问题只是为了知识还是出于好奇等?因为x=x&&y;它本身写起来太短了!结果如何不一样?
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