-7

是否有另一种方法可以达到以下结果?(不使用 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("|"); }

编辑 :

好的,我会尝试更具体。我真正的问题与图形有关。

我尝试在它们之间渲染一个白色矩形网格和行分隔符。因此,当我进入循环绘制每个矩形时,我还会用另一种颜色绘制每个矩形的右侧,以使分隔符不同。

但是当我来到最后一个矩形时,我不想画它的右侧。为了克服这个问题,我发现这种方法可能有效,假设第一种方法绘制分隔符而第二种方法不绘制任何内容。

(我不是程序员,所以在谈论编程时,我很难准确地表达自己)。

4

1 回答 1

4

基本上我想跳过循环的最后一个元素

for (int i = 1; i < n; i++)
// ...
于 2013-07-29T23:22:45.297 回答