2013-01-24 7 views
1

5 방향으로 배열을 저장해야하며 가장 읽기 쉬운 방법이 무엇인지 궁금합니다. 나는구조체 상수 또는 클래스?

int myDirection[100] = {0,1,2,3,4,5,4,4,3,4,0......etc // poor readability 

배열 할 수 아니면 내가 상수를 사용하고

const up = 1; 
const down = 2; //... etc 
int myDirection[100] = {up, down, center, right, left, .....etc 

을하거나 내가 구조체를

struct direction 
{ private byte mydirectionval; 
    { 
    public void direction Setup(){mydirection =1;} 
    public void direction Setright(){mydirection=2;} 
    public void direction Setdown(){mydirection=3;} 
    public void direction Setleft(){mydirection=4;} 
    public void direction Setcenter(){mydirection=0;} 
    public direction Getdirection(){....    

    } 
    direction newpath[100] = { ...... 

을 쓸 수 또는 I 클래스를 작성해야 할 수

 public static class direction // not sure use static here ? 
    { private int direction =0; 
     public const int Up = 1; 
     public const int left =2; 
     public const int down = 3; 
     public const int right = 4; 
     public const int center = 0; 
     public int getdirection(){return direction} 
     public void int setdirection(int x){direction=x} 
    } 
    direction mydir[100] = new direction; 
    mydir[0].setdirection(up); 
    // or use it like 
    mydir[0]=mydir.up //==> i prefer readability of code so this looks better? 

OK 명 sugest 열거 형을 사용하지만, 배열 mydir가 필요합니다 [100] 열거 형 어떻게해야합니까 ??

+8

당신은 열거를 사용하여 생각 해 봤나? –

+0

또한 enum에 투표하십시오. – dowhilefor

+0

@NicoSchertler 응답이 있어야합니다 –

답변

3

enum을 사용하십시오.

enum Direction 
{ 
up = 1, 
down = 2, 
center = 3, 
right = 4, 
left = 5 
} 

당신은 배열에서 사용할 수 있습니다 :

Direction[] myDirection = { Direction.left, Direction.up, Direction.right ... }; 

또는

myDirection[0] = Direction.left; ... 
+0

그러면 Direction []과 같은 배열을 어떻게 만듭니 까? mydir = new Direction [100]; mydir [0] = up; ? – user613326

+0

@ user613326,'mydir [0] = Direction.up; '와 같이 작성하십시오. – Habib

+0

업데이트 된 답변을 살펴보십시오. –

0

무엇을 열거 대해?

public enum Direction 
{ 
    up, 
    down, 
    right, 
    left, 
    center 
} 

이 기능을 사용하려면

Direction.up; 
+1

그럼 가까운 거 같아요? 이 배열을 코드에 저장해 두어야합니다. Direction mydir [100] = new Direction [] – user613326

+0

@OneManCrew 마지막 값 다음에 쉼표를 추가하여 오타를 수정했습니다. – Bridge

관련 문제