0

我从 Stackoverflow.com 阅读了一些文章,尤其是:

获取 Java 布尔值的倒数的最简洁方法是什么?

翻转布尔值的最简单方法?

如果我有三个布尔变量会发生什么?我想使用单行分配一个真/假值。

例如,test1andtest3必须为 true 且test2必须为 false。

我用了

test1 = test2 ^= test3 = true;   //true, false, true

或者

test1 = test3 ^= test2 ^= true;

但这并不好。逻辑不好。

我知道我的问题很简单,但我有 6-7 个布尔变量,如果可能的话,我想使用单行赋值。

有可能的 ?

4

2 回答 2

0

你可以这样做:

test1 = !(test2 = !(test3 = true));

尽管您绝对应该将作业拆分为多行:

test1 = true;
test2 = false;
test3 = true;

我想不出 c# 中可以做前者但不能做后者的任何地方。

于 2012-08-03T11:26:57.167 回答
0
a = b = c = !(d = e = f = true);

这会将第一个设置为 false,第二个设置为 true。(从 D 开始。)

所以在你的情况下:

test2 = !(test1 = test3 = true);
于 2012-08-03T12:41:57.197 回答