배열
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 |
댓글