0

我正在尝试在 C# 中创建一个 for 循环来对 3 个 bool 变量进行所有可能的测试,但我无法弄清楚如何按照( a && b ) || cifa是 True 并且bcFalse 整个语句将等于 false .

4

2 回答 2

4

不确定这是否是您想要的,但是使用 nested foreach,您可以这样做:

foreach (var a in new[] { false, true, })
  foreach (var b in new[] { false, true, })
    foreach (var c in new[] { false, true, })
    {
      // use a, b, and c here
    }

或者以评论喜欢的风格:

bool[] arr = { false, true, };
foreach (var a in arr)
  foreach (var b in arr)
    foreach (var c in arr)
    {
      // use a, b, and c here
    }
于 2013-01-29T19:25:47.523 回答
1

这个版本允许一些灵活性来扩展:

  for (int i = 0; i < 8; i++)
  {
    bool a = (i & 1) != 0;
    bool b = (i & 2) != 0;
    bool c = (i & 4) != 0;

    Console.WriteLine("a={0},b={1},c={2}", a, b, c);
  }
于 2013-01-29T21:06:56.087 回答