C# 의 배열(array)에 대한 설명



이번은 reference 형식 중 하나인 Array, 배열에 대한 설명을 하고자 합니다.

여러분들도 아시겠지만, 배열이란 하나의 변수이름으로 여러개의 독립공간을 가지는 변수를 칭합니다.

그럼 배열 변수 선언은 어떻게 할까요?

- 선언방법 : int[] integers;


int[] 은 정수의 배열을 나타내고 있죠.

- 배열의 초기화 :  integers = new int[50];


50여개의 정수를 가지는 새로운 배열을 만듭니다. new 연산자를 이용하여 일차원배열 객체(instance)를 생성함을 말함과 동시에 배열의 크기는 50 을 나타내고 있습니다.

그리고 c# 배열은 0 기반 인덱스를 사용하기 때문에 첫번째 요소를 인덱스 0 으로 참조할 수 있습니다.
예를 들면 intergers[0] = 2; 이런식으로 말이죠. 따라서 공간할당은 0부터 49가 되는 것이죠.


- 그럼 문자열 배열선언은 어떤식일까요?

string[] jobs=new string[] {"A","B","C","D","E"};



개수지정을 하지 않아도 데이터의 개수가 5개이므로 5개가 생성이 됩니다. 문자열을 출력하기 위해 for문을 사용해 보자.




java 에서는 length(소문자) 이지만, c#에서는 Length(대문자) 임을 참고합시다.


- 2차원 배열은 어떻게 생겼을까요?


double[,] doubleArray = new double[2,3]; //c#식
double[][] doubleArray = new double[2][3];//java식


변수 선언과 객체의 생성을 동시에 한줄로 위와 같이 할 수도 있답니다. 
c# 에서는 사각 배열을 선언할 때 차원을 구분하기 위해서는 콤마를 사용하고 크기는 지정하거나 안해도 됩니다.

이번에 2차원 배열로 평균을 구하는 소스를 살펴보죠.





C:\temp>arrayStudy

sum[0] = 5
average = 1

sum[1] = 11
average = 2.2

sum[2] = 15
average = 3



posted by 심재운 (shimpark@gmail.com)

TAGS.

Comments 3

  • cosmicBird | 댓글주소 | 수정/삭제

    안녕하세요~ 강의 정말 잘 보고 있습니다~ 감사합니다~
    질문이 있어서요~
    double[,] doubleArray = new double[3,5];
    Console.WriteLine(doubleArray.Length);
    하니까 값이 15가 나오던데요~
    1차원 배열값인 3이 나오게 하려면 어떻게 해야 되나요~?

    • 재우니 | 댓글주소 | 수정/삭제

      코드를 보니 2차원배열 방식을 구현했군요. 따라서 Length 함수는 3*5 = 15 라는 배열 길이를 반환해서 정답인데요. 1차원배열은 여기서 구할 수가 없지요. 따라서 double[3,5] 부분에 위에서 변수로 지정..

      int i=3;
      int j=5;

      double[,] doubleArray = new double[i,j];
      Console.WriteLine(i);

      3이라는 값을 꼭 가지고 와야 한다면... 이런식으로 사용하시는게 좋을 듯 싶네요.

  • 멋지군 | 댓글주소 | 수정/삭제

    왕초보 답변

    vs2010 버전
    Console.WriteLine(dobuleArray.GetUpperBound(0) + 1); ==> 3
    Console.WriteLine(dobuleArray.GetUpperBound(1) + 1); ==> 5