본문 바로가기
Language/C#

[ C# ] 배열

by 신인용 2020. 9. 2.
반응형

 

배열

 

1. 일차원 배열

- 기본 개념

같은 데이터형 + 변수명 + 순차적인 메모리 나열

같은 데이터형: 메모리의 크기가 같음.

변수명: 같은 이름의 변수를 구분하기 위해 인덱스가 필요 (arr[i])

 

- 참조형

new를 통해 생성

 

- Array로부터 파생된 참조형

 

- foreach 사용 가능

foreach를 통해 편하게 읽어낼 수 있음. 그러나, 수정 불가능. 읽기 전용으로 사용.

 

- 선언 형식

데이터형[] 배열명;

int[] array_name;

 

- 생성과 초기화

int[] array;

 array = new int[] {1,2,3}; // 코딩하다 보면 가변적인 것이 더 유용함.

 array = new int[3] {1,2,3}; // 동적

 

int[] array = new int[3] {1,2,3};

int[] array = new int[] {1,2,3};

 

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

 

Array.Length 속성

foreach 사용 (읽기 전용)

결과값:

1 2 3 4

1 2 3 4

1 2 3 4

Sun Mon Tue Wed Thu Fri Sat

 

 

 

 

2. 이차원 배열

행과 열, 면은 콤마(,)로 구분

 

선언 형식

데이터형[,] 배열명;

데이터형[,,] 배열명;

 

형식

 int[,] array1 = new int[2,2];

 int[,,] array2 = new int[2,3,2];

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

 int[,,] array2 = new int[,,] {1,2}, {3,4}},

                                 {{5,6}, {7,8}};

 

형식(2)

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

 int[,,] array2 = new int[2,3,2] {{{1,2},{3,4},{5,6}},

                                       {{7,8},{9,10},{11,12}}};

 

형식(3)

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

int[,,] array3 = {{{1,2},{3,4},{5,6}},{{7,8},{9,10},{11,12}}};

 

- 이차원 및 다차원 배열

int형 이차원 배열 , 다차원형 문자열 배열

결과값:

1 2 3 4

1 2 3 4

ab cd ef gh ij kl mn op

 

 

 

 

 

3. 가변 배열

형식

 데이터형[][] 배열명;

 int[][] array_name;

 

사용 예(1)

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

 array[0] = new int[2];

 array[1] = new int[3];

 array[2] = new int[4];

 

사용 예(2)

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

 array[0] = new int[2] {1,2};

 array[1] = new int[3] (3,4,5};

 array[2] = new int[4] {6,7,8,9};

 또는

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

 array[0] = new int[] {1,2};

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

 array[2] = new int[] {6,7,8,9};

 

사용 예(3)

 int[][] array = new int[][]

 {

     new int[] {1,2,3},

    new int[] {4,5,6},

    new int[] {7,8,9}

 };

 

사용 예(4)

 int[][] array = {

    new int[] {1,2,3},

    new int[] {4,5,6},

    new int[] {7,8,9}

 }

 

 

가변 배열 사용 예

결과값 : 12345

 

 

 

가변 다차원 배열 사용 예

결과값 : 123456789101112

 

 

 

 

4. 배열을 함수로 전달

많은 메소드들을 잘 찾아서 쓸 수 있어야함.

 

일차원 배열을 함수로 전달

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

void func(int[] arr){

 

}

func(array);

결과값 : 일월화수목금토

 

 

 

이차원 배열을 참조로 전달

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

SetArray(array2);

void SetArray(int[,] arr){

 

}

SetArray(new int[,] {{1,2,3},{4,5,6}});

 

 

 

 

 

5. 배열을 리턴하는 함수

배열을 리턴한다는 의미?

 배열이 참조하는 객체의 주소값을 리턴하는 것임.

 

결과값:

01234

012345

 

 

 

 

 

 

6. 배열의 메소드들

배열

 Array 클래스로부터 파생된 객체

 

배열 초기화 메소드 -> 많이 사용됨.

 public static void Clear(

     Array array,

    int index,

    int length

 )

 

 

 

배열 복사 -> 많이 사용됨

public Object Clone()

결과값 :

1234

12304

일월화수목금토

 

 

 

 

 

반응형

'Language > C#' 카테고리의 다른 글

[ C# ] C# 기본 문법  (0) 2020.09.02
[ C# ] 데이터형, 변환, 표준 입력형식  (0) 2020.09.01
[ C# ] C# 프로그래밍의 기본 구조  (0) 2020.09.01
[ C# ] .NET Framework와 C#언어  (0) 2020.09.01
[ C# ] StopWatch 구현  (0) 2019.08.12

댓글