微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用XOR交换值

这是在C和C#中交换值的有效方法.

X ^= Y;
Y ^= X;
X ^= Y;

这是在C中交换值的有效方法.

X ^= Y ^= X ^= Y;

但为什么这不适用于C#?

解决方法

int X = 3;
X = X + X++; // X = 6;

int X = 3
X = X++ + X; // X = 7;

同理:

int X = 3;
int Y = 5;
X = (Y ^= X ^= Y)^X; // X = 5

然而:

int X = 3;
int Y = 5;
X = X^(Y ^= X ^= Y); // X = 0

不幸:

X = X ^(Y ^ = X ^ = Y)是X ^ = Y ^ = X ^ = Y的等价

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐