可能的布尔测试

时间:2013-01-29 19:19:42

标签: c# boolean

我正在尝试在C#中创建一个for循环来对3个bool变量进行所有可能的测试,但如果( a && b ) || c我无法弄明白如何做a行。 }是True,bc为False,整个语句都等于false。

2 个答案:

答案 0 :(得分:3)

不确定这是否是你想要的,但是对于嵌套的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
    }

答案 1 :(得分: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);
  }