2013-07-29 40 views
-6

是否有另一種方法可以實現以下結果? (不使用IF)用於分隔for循環的最後一次迭代的表達式

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("|"); } 

編輯:

好,我會盡量更具體。我真正的問題是與圖形有關。

我嘗試呈現它們之間的白色矩形和線條分隔符的網格。所以當我進入循環繪製每個矩形時,我還會用另一種顏色繪製每個矩形的右側,以使分隔符不同。

但是當我來到最後一個矩形時,我不想畫出它的右側。爲了克服這個問題,我發現這種方法可能會奏效,假設第一種方法繪製分隔符,第二種方法不繪製任何東西。

(我不是程序員,所以在談論編程時,我很難完全表達我自己)。

+2

的最後一個元素是這裏[代碼高爾夫(http://codegolf.stackexchange.com/)或一個真正的問題? –

+3

請使用'if'。我甚至不想支持這樣的代碼,甚至在地獄中也是如此。 – dmay

+1

如果你重複太多,難道你不能調整你的循環條件嗎?像'我= 1;我 Zec

回答

4

基本上我想跳過循環

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