简化重复方法调用中的重复

Jul*_*ury 0 c#

我有一个重复的方法调用,如下所示:

GroupGenerator(param1, enum.val1, true, false, false)
Run Code Online (Sandbox Code Playgroud)

每次调用时,布尔值都会更改以涵盖所有可能的组合,

true, false, false
true, true, false
etc etc
Run Code Online (Sandbox Code Playgroud)

如果没有GroupGenerator(param1...一遍又一遍地写行,有没有更简洁的方法呢?

任何帮助/意见非常感谢.

Ant*_*lev 7

true, false, false实际上100是二进制的,true, true, false110.考虑到这一点,

public static bool GetBit(byte b, int bitNumber) 
{
  return (b & (1 << bitNumber)) != 0;
}

for(byte n = 0; n < 8; n++)
  GroupGenerator(param1, enum.val1, GetBit(n, 0), GetBit(n, 1), GetBit(n, 2));
Run Code Online (Sandbox Code Playgroud)