它表示LHS表达式的值与RHS表达式的值按位异或,并将其分配回LHS表达式.
例如:
int x = 10;
int y = 3;
x ^= y; // x = 10 ^ 3, i.e. 9
Run Code Online (Sandbox Code Playgroud)
LHS表达式仅评估一次,因此如果您有:
array[GetIndex()] ^= 10;
Run Code Online (Sandbox Code Playgroud)
只会打GetIndex一次电话.但请不要这样做,'因为它是讨厌的:)
另请参阅相关的MSDN页面.
您可能还会发现Eric Lippert最近发布的关于复合赋值操作员的愚人节博客文章很有趣 - 该系列的第一部分更为严肃,可能会证明具有启发性.
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |