是否有另一种方法可以达到以下结果?(不使用 if)
static void Main(string[] args)
{
int n = 16;
Action[] action = new Action[2] { go0, go1 };
for (int i = 1; i < n + 1; i++)
{
Console.Write(i - 1);
action[((i % (n)) % (i + 1)) / i]();
//Console.Write(((i % (n)) % (i + 1)) / i);
}
Console.ReadLine();
}
static void go0() { Console.Write("-"); }
static void go1() { Console.Write("|"); }
编辑 :
好的,我会尝试更具体。我真正的问题与图形有关。
我尝试在它们之间渲染一个白色矩形网格和行分隔符。因此,当我进入循环绘制每个矩形时,我还会用另一种颜色绘制每个矩形的右侧,以使分隔符不同。
但是当我来到最后一个矩形时,我不想画它的右侧。为了克服这个问题,我发现这种方法可能有效,假设第一种方法绘制分隔符而第二种方法不绘制任何内容。
(我不是程序员,所以在谈论编程时,我很难准确地表达自己)。