c#을 배워보자

c#을 이용하여 윈도우 프로그램을 만들어보자.

배열

본 토픽은 현재 준비중입니다.공동공부에 참여하시면 완성 되었을 때 알려드립니다.

배열은 무엇일까요?

예를 들어 계란이 자료형이라고 예를 들어볼까요.?

계란판은 계란이 30개 들어 있지요?

이것이 배열입니다.

위의 사진에서 보시면 계란이 5개가 한 묶음으로 되어 있고 6줄로 되어 있습니다.

마치 행렬처럼 말이죠.

 

배열을 선언해 보자

int형 배열을 만들어 볼까요?

위의 계란판을 참고로 해서 해보죠.

int[] eggArr = { 1, 2, 3, 4, 5};
// 위와 아래는 똑같은 말입니다.
int[] eggArr = new int[] {1, 2, 3, 4, 5};

계란 5개 한줄을 표현해 보았습니다.

계란 5개 묶음 6줄을 표현하려면 어떻게 해야 할까요?

int[,] eggArr = new int[6,5]{{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15},
{16,17,18,19,20}, {21,22,23,24,25}, {26,27,28,29,30} };

위의 계란 사진처럼 갯수가 정해져 있는 경우에는 배열을 지정할 때

int[5,6] 이런식으로 쉼표(,)를 이용해서 나누어 줍니다.

 

배열의 접근과 사용

 

int[] eggArr = new int[]{1,2,3,4,5};

eggArr 에서 첫번째 요소인 1을 사용하려면 어떻게 해야 될까요?

int egg = eggArr[0] // 이라고 하면 됩니다.
eggArr[0] = 5;
Console.WriteLine("eggArr[0] = {0}", eggArr[0]);

결과는 5라고 나오게 됩니다.

잠깐 이상한게 나와서 당황스러우셨죠?

Console 이라는 클래스의 WriteLine이라는 메소드(함수)를 사용해 보았습니다. 나중에 더 자세히 알아볼게요.

(콘솔창에서 원하는 내용을 콘솔창에 띄워주는 역할을 합니다.)

 

eggArr[0] = 5; 라고 하였기 때문에

eggArr 은 이렇게 변하게 됩니다.

eggArr = {5, 2, 3, 4, 5}; 이것과 같은것이 됩니다.

 

배열은 int형만 되는것이 아니라, 모든 자료형이 다 배열로 표현가능합니다.

문자열을 담을 수 있는 string도 가능합니다.

string dinner = "김치찌개";

string[] myDinnerArr = {"김치찌개", "된장찌개", "피자", "돼지갈비"};

이렇게 자기가 먹고 싶은 저녁메뉴들을 모아 배열로 만들 수 있습니다.

 

가변형 배열

배열의 총 내용이 정해지지 않았을 경우에는 "동적배열"의 형식으로 지정이 가능합니다.

string[][] myGameArr = new string[3][];
myGameArr[0][0] = "히오스";
myGameArr[0][1] = "다크소울";
이렇게 그때 그때 값을 넣는 방식도 가능합니다.
 
이럴때는 주의 해야 될 점이 
string[,] 의 형식이 아니라,
string[][] 의 형식으로 지정해 주어야 한다는 점입니다.
이것이 c,c++ 과 c#의 차이점입니다.
 
 
  • 봤어요 0명

댓글

댓글 본문
  1. 노바
    히오스
  2. 히히
    네네 클래스로도 배열을 만들수도 있어요!! 배열은 그냥 메모리상에서 쭈욱 얼마만큼 붙어져 있는 공간을 할당하는 거라서 배열은 뭐든지 만들 수 있어요.
    대화보기
    • m00n
      안녕하세요. 구조체로도 배열을 만들 수 있는지요?
    • 마크
      유니티를 쓰시려면 C# 코드를 짜셔야 합니다.

      그렇기 때문에 유니티가 목적이라면 자바보단 C# 배우시는게 좋습니다.
    • 강신후
      유니티를 배울려고 하는데 자바와 C#중에 뭐가 좋을까요?