2013-07-29 4 views
-6

다음과 같은 결과를 얻는 다른 방법이 있습니까? (경우 사용하지 않고)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

의 마지막 요소를 건너 뛸 수 있나요 싶어? –

+3

'if'를 사용하십시오. 나는 지옥에서의 징벌 같은 코드조차도지지하고 싶지 않다. – dmay

+1

반복되는 반복 횟수가 너무 많으면 루프 상태를 조정할 수 없습니까? 'i = 1; i Zec

답변

4

기본적으로 나는이 [코드 골프 (http://codegolf.stackexchange.com/) 또는 진짜 문제는 루프

for (int i = 1; i < n; i++) 
// ... 
관련 문제