Jar*_*Par 15
这是一个明智的任务.它大致是以下的简写
x |= y;
x = x | y;
Run Code Online (Sandbox Code Playgroud)
注意:这不是真正的上述原因,因为C#规范保证x只发生一次的副作用.因此,如果x是一个复杂的表达式,编译器会生成一些有趣的代码,以确保副作用只发生一次.
Method().x |= y;
Method().x = Method().x | y; // Not equivalent
var temp = Method();
temp.x = temp.x | y; // Pretty close
Run Code Online (Sandbox Code Playgroud)