Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 인터페이스 예제
- 분할 클래스
- 인덱서
- 이것이C#이다
- 형식변환
- 클래스
- 무명형식
- base()
- 프로퍼티와 생성자
- is
- 메소드숨기기
- 일반화 클래스
- 자동구현프로퍼티
- 접근 한정자
- 배열
- 추상 프로퍼티
- System.Array
- 인터페이스의 프로퍼티
- 컬렉션 초기화
- 프로퍼티
- 오버라이딩
- 가변배열
- as
- c#
- this 키워드
- 클래스 연습문제
- 배열초기화
- 튜플
- 중첩클래스
- 인터페이스 상속
Archives
- Today
- Total
제로의영역
10.4 2차원 배열 본문
* 본 블로그 글은 머리가 아~~~주 나쁜 왕X100초보가 프로그래밍을 공부하면서 정리를 위해 작성하는 글입니다. 잘못 정리되거나 제가 잘못 이해한 글은 이해 및 조언 부탁드립니다.
* 공부는 '이것이 C#이다' 책을 보고 하고 있습니다. 참고로 저같은 왕초보가 보기 어렵게 써져 있어서 별도의 정리 문서를 만들게 되었습니다.
1. 정의: 2개의 차원(세로+가로)으로 원소를 배치하는 배열
예1 ) 1차원(가로방향)의 길이가 3, 2차원(세로방향)의 길이가 2인 2차원 배열
[0,0] [0,1] [0,2]
1 | 2 | 3 |
4 | 5 | 6 |
[1,0] [1,1] [1,2]
2. 선언(생성) 방법
(1) 1차원 배열과 선언 형식이 같음
1차원 배열 선언: 데이터형식[ ] 배열이름 = new 데이터형식[ 용량 ];
(2) 각 차원의 용량 또는 길이를 콤마( , )로 구분해서 [ ] 사이에 입력해줌.
2차원 배열 선언: 데이터 형식[,] 배열이름 = new 데이터형식 [ 2차원길이, 1차원길이 ];
예2) 예1의 배열 선언
int[,] array = new int[2,3];
array[0,0]=1;
array[0,1]=2;
array[0,2]=3;
array[1,0]=4;
array[1,1]=5;
array[1,2]=6;
3. 선언과 동시에 초기화 방법
(1) 1차원 배열의 세가지 초기화 방법과 같음
종류 | 1차원배열 | 2차원배열 |
배열의 형식과 길이를 명시 | string[ ] arr1=new string[3]{ "안녕" ,"Hello", "Halo" }; | int[,] arr1=new int[2, 3]{{1, 2, 3}, {4, 5, 6}}; |
배열의 길이 생략 | string[ ] arr2=new string[ ]{ "안녕" ,"Hello", "Halo" }; | int[,] arr2=new int[,]{{1, 2, 3}, {4, 5, 6}}; |
형식과 길이를 모두 생략 | string[ ] arr3={ "안녕" ,"Hello", "Halo" }; | int[,] arr3={{1, 2, 3}, {4, 5, 6}}; |
예제)
using System;
namespace _10._5
{
class MainProgram
{
static void Main(string[] args)
{
int[,] arr = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
//가로3열 세로2행인 arr배열 생성및 초기화
for(int i=0;i<arr.GetLength(0);i++)
//GetLength():배열에서 지정한 차원의 길이를 반환, 세로가 2와 같을 때까지 코드 반복
{
for(int j=0; j<arr.GetLength(1);j++) //가로가 3가 같을 때까지 코드 반복
{
Console.Write($"[{i},{j}]:{arr[i, j]} ");
}
Console.WriteLine();
}
Console.WriteLine();
int[,] arr2 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };
for(int i=0;i<arr2.GetLength(0);i++)
{
for(int j=0;j<arr2.GetLength(1);j++)
{
Console.Write($"[{i},{j}]:{arr2[i,j]} ");
}
Console.WriteLine();
}
Console.WriteLine();
int[,] arr3 = { { 1, 2, 3 }, { 4, 5, 6 } };
for(int i=0;i<arr2.GetLength(0); i++)
{
for(int j=0;j<arr2.GetLength(1);j++)
{
Console.Write($"[{i},{j}]:{arr3[i, j]} ");
}
Console.WriteLine();
}
Console.WriteLine();
}
}
}
실행 결과:
[0,0]:1 [0,1]:2 [0,2]:3
[1,0]:4 [1,1]:5 [1,2]:6
[0,0]:1 [0,1]:2 [0,2]:3
[1,0]:4 [1,1]:5 [1,2]:6
[0,0]:1 [0,1]:2 [0,2]:3
[1,0]:4 [1,1]:5 [1,2]:6
'C#' 카테고리의 다른 글
10.6 가변 배열 (0) | 2019.08.09 |
---|---|
10.5 다차원배열 (0) | 2019.08.09 |
10.3 알아두면 삶이 윤택해지는 System.Array (0) | 2019.08.05 |
10.2 배열을 초기화하는 세가지 방법(배열2) (0) | 2019.08.02 |
10.1 All for one, one for all (배열) (0) | 2019.07.31 |