일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 인터페이스 상속
- 컬렉션 초기화
- 배열초기화
- 인덱서
- c#
- 자동구현프로퍼티
- 프로퍼티
- base()
- as
- 오버라이딩
- this 키워드
- System.Array
- 인터페이스 예제
- 형식변환
- 접근 한정자
- 클래스 연습문제
- 추상 프로퍼티
- 인터페이스의 프로퍼티
- 배열
- 일반화 클래스
- 메소드숨기기
- 클래스
- 튜플
- 분할 클래스
- 프로퍼티와 생성자
- 무명형식
- 이것이C#이다
- 가변배열
- 중첩클래스
- is
- Today
- Total
제로의영역
10.5 다차원배열 본문
* 본 블로그 글은 머리가 아~~~주 나쁜 왕X100초보가 프로그래밍을 공부하면서 정리를 위해 작성하는 글입니다. 잘못 정리되거나 제가 잘못 이해한 글은 이해 및 조언 부탁드립니다.
* 공부는 '이것이 C#이다' 책을 보고 하고 있습니다. 참고로 저같은 왕초보가 보기 어렵게 써져 있어서 별도의 정리 문서를 만들게 되었습니다.
1. 정의: 차원이 둘이상인 배열
2. 사용법
(1) 차원이 늘어날수록 요소에 접근할 때 사용하는 인덱스의 수가 늘어나며 2차원 배열과 문법이 같음.
(2) 3차원 이상의 배열을 사용하지 말것을 권장.(머리속에 배열의 내용을 유지하기 힘들어 버그를 양산할 수 있음)
예)
int[,,] array=new int[4,3,2]
{
{{1,2},{3,4},{5,6}},
{{1,4},{2,5},{3,6}},
{{6,5},{4,3},{2,1}},
{{6,3},{5,2},{4,1}},
};
예제)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._6
{
class MainProgram
{
static void Main(string[] args)
{
int[,,] array = new int[4, 3, 2] //3차원배열 선언
{
{{1,2},{3,4},{5,6} },
{{1,4},{2,5},{3,6} },
{{6,5},{4,3},{2,1} },
{{6,3},{5,2},{4,1} },
};
for(int i=0; i<array.GetLength(0);i++) // 3차원 길이가 4보다 작을 때까지 반복
{
for(int j=0;j<array.GetLength(1);j++) // 2차원 길이가 3보다 작을 때까지 반복
{
Console.Write("{ ");
for(int k=0;k<array.GetLength(2);k++) // 1차원 길이가 2보다 작을 때까지 반복
{
Console.Write($"{array[i, j, k]} ");
}
Console.Write("} ");
}
Console.WriteLine();
}
}
}
}
실행결과
{ 1 2 } { 3 4 } { 5 6 }
{ 1 4 } { 2 5 } { 3 6 }
{ 6 5 } { 4 3 } { 2 1 }
{ 6 3 } { 5 2 } { 4 1 }
3차원 배열이 잘 그려지지 않아 좀 더 알아봤습니다.(수학이 약해서...^^;;)
행, 열, 면으로 생각했더니 더 그림이 그려지지 않더군요.
면의 수만큼 있는 2차원배열로 그림을 그리면 좀 더 그림이 쉽게 그려집니다.
위의 예제를 배열 그림으로 그려보면 아래와 같습니다.
< 선언된 코드 >
int[,,] array = new int[4, 3, 2]
{
{{1,2},{3,4},{5,6} },
{{1,4},{2,5},{3,6} },
{{6,5},{4,3},{2,1} },
{{6,3},{5,2},{4,1} },
};
< 배열 그림 >
1 | 2 |
3 | 4 |
5 | 6 |
1 | 4 |
2 | 5 |
3 | 6 |
6 | 5 |
4 | 3 |
2 | 1 |
6 | 3 |
5 | 2 |
4 | 1 |
위의 4개의 배열로 그려집니다.
첫 그림부터 그림마다 0,1,2,3 순서입니다.
'C#' 카테고리의 다른 글
10.8 컬렉션을 초기화하는 방법 (0) | 2019.09.19 |
---|---|
10.6 가변 배열 (0) | 2019.08.09 |
10.4 2차원 배열 (0) | 2019.08.06 |
10.3 알아두면 삶이 윤택해지는 System.Array (0) | 2019.08.05 |
10.2 배열을 초기화하는 세가지 방법(배열2) (0) | 2019.08.02 |