是否有其他方法可以达到以下效果? (不使用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("|"); }
编辑:
好的我会尝试更具体。我真正的问题与图形有关。
我尝试在它们之间渲染白色矩形和线条分隔符的网格。因此,当我进入绘制每个矩形的循环时,我还使用另一种颜色绘制每个矩形的右侧,以使分隔符不同。
但是当我来到最后一个矩形时,我不想画出它的右侧。为了解决这个问题,我发现这种方法可能有效,假设第一种方法绘制分隔符,第二种方法不提取任何内容。
(我不是程序员,因此在谈论编程时,我很难完全表达自己的想法。)
答案 0 :(得分:4)
基本上我想跳过循环的最后一个元素
for (int i = 1; i < n; i++)
// ...