유니티 C# - 배열 : 2

황정욱·2022년 10월 28일
0
post-thumbnail

배열을 다뤄봤지만 배열은 2차원 이상으로 만들 수 있다. 하지만 웬만하면 2차원까지 주로 사용하고 특수한 경우에 3차원꺼지 쓴다. 그 이상으로 넘어가면 굉장히 복잡해진다.

int[] array = {1, 2, 3}; 은 1차원 배열이다.
2차원 배열은 다음과 같이 작성 할 수 있다.

int[,] array = 
	{
	{1, 2, 3}, 
    {4, 5, 6}
    };

한줄로 쓰면 코드를 분석하기 힘들어 행이 나누어서 작성하면 가독성이 좋아진다.

혹은

int[][] array = new int[3][];

// 1번 방법
array[0] = new int[6]; 
array[1] = new int[3];
array[2] = new int[5];

// 2번 방법
array[0] = new int[6] { 1, 2, 3, 4, 5, 6 };
array[1] = new int[3] { 7, 8, 9 };
array[2] = new int[5] { 10, 11, 12, 13, 14};

new int[3][]의미는 3개의 행을 만든다.

array[0] = new int[6]; 
array[1] = new int[3];
array[2] = new int[5];

그리고 1번방법을 사용하면 0번째 행은 6개의 원소, 1번째 행은 3개, 2번째 행은 5개의 원소를 가진다. 선언을 하고 값을 후에 대입해준다.

2번방법을 사용하면
선언과 동시에 값을 순서대로 각 원소에 넣는다.

예시를 하나 더 들어보겠다.
5 x 5 의 2차원 string 배열을 마들고 중간에 대문자 "O"를 넣고자 한다.

1번 방법
string[][] stringArray1 = new string[5][];
stringArray1[0] = new string[5];
stringArray1[1] = new string[5];
stringArray1[2] = new string[5];
stringArray1[3] = new string[5];
stringArray1[4] = new string[5];
stringArray1[2][2] = "O";


2번 방법
string[,] table = new string[5, 5];
table[2, 2] = "O";

편한 방법을 골라서 써주면 된다.

profile
C언어, C#, 그리고 유니티

0개의 댓글