用于分隔for循环的最后一次迭代的表达式

时间:2013-07-29 23:17:28

标签: c# expression

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

编辑:

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

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

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

(我不是程序员,因此在谈论编程时,我很难完全表达自己的想法。)

1 个答案:

答案 0 :(得分:4)

  

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

for (int i = 1; i < n; i++)
// ...