可能的布尔测试

本文关键字:测试 布尔 | 更新日期: 2023-09-27 17:56:45

我正在尝试在 C# 中创建一个 for 循环来对 3 个布尔变量进行所有可能的测试,但我无法弄清楚如何( a && b ) || c做到这一点,如果a是真和bc是假的,整个语句将等于假。

可能的布尔测试

不确定这是否是您想要的,但是使用嵌套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
    }

此版本允许灵活地扩展:

  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);
  }