01. 1차원 배열
배열
-
기본 개념 : 같은 데이터형 + 변수명 + 순차적인 메모리 나열
-
참조형 : new를 통해 생성
-
Array로 부터 파생된 참조형
-
foreach 사용가능
1차원 배열
-
선언 형식
데이터형[] 배열명;
int[] array_name;
-
생성과 초기화
int[] array;
array = new int[] {1, 2, 3}; // new를 통해 생성한다.
array = new int[3] {1, 2, 3}; // 3이라는 크기를 명시해놓은 예시
int[] array = new int[3] {1, 2, 3};
int[] array = new int[] {1, 2, 3};
int[] array = {1, 2, 3}; // C#에서 자주쓰임 (초기화도 자동으로 해준다)
-
Array.Length 속성 // Length는 배열의 변수(속성)을 가지고 있다.
-
foreach 사용 (읽기 전용)
5-1 예제)
같은 문장으로 같은 결과를 나타낸다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _5_1
{
class Program
{
static void Main(string[] args)
{
int[] nArray = { 1, 2, 3, 4 };
for (int i = 0; i < 4; i++) // for문
Console.Write("{0} ", nArray[i]);
Console.Write('\n');
Console.WriteLine("=====================");
for (int i = 0; i < nArray.Length; i++) // for문
Console.Write("{0} ", nArray[i]);
Console.Write('\n');
Console.WriteLine("=====================");
foreach (int m in nArray) // foreach문
Console.Write("{0} ", m);
Console.Write('\n');
string[] Days = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
foreach (string str in Days)
Console.Write(str + " ");
}
}
}
02. 2차원 배열
-
행과 열, 면은 콤마( , )로 구분
-
선언 형식
-
데이터형[ , ] 배열명;
-
데이터형[ , , ] 배열명;
-
형식 (1)
int[ , ] array1 = new int[2,2];
int[ , , ] array2 = new int[2, 3, 2]; // 3차원: 면 / 행 / 렬 0으로 setup
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}}
};
-
2차원과 다차원 배열 사용하는 예
- int형 2차원 배열
- 다차원형 문자열 배열
5-2 예제)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _5_2
{
class Program
{
static void Main(string[] args)
{
int[,] nArray1 = new int[2, 2];
nArray1[0, 0] = 1;
nArray1[0, 1] = 2;
nArray1[1, 0] = 3;
nArray1[1, 1] = 4;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
Console.Write(nArray1[i, j] + " ");
Console.Write('\n');
int[,] nArray2 = { { 1, 2 }, { 3, 4 } };
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
Console.Write(nArray1[i, j] + " ");
Console.Write('\n');
string[,,] strArray = { { { "ab", "cd" }, { "ef", "gh" } },
{ { "ij", "kl" }, { "mn", "op" } }};
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
for (int k = 0; k < 2; k++)
Console.Write(strArray[i, j, k] + " ");
}
}
}
'C# > C#으로 살아남기_나우캠퍼스_이태성강사' 카테고리의 다른 글
[C# 언어 5강] 배열 (3/3) 배열을 리턴하는 함수, 배열의 메서드 (0) | 2021.03.01 |
---|---|
[C# 언어 5강] 배열 (2/3) 가변배열, 배열을 함수로 전달 (0) | 2021.02.27 |
[C# 언어 4강] C# 기본 문법 (2/2) 제어문, 점프문, 예외 처리문 및 정리 (0) | 2021.02.23 |
[C# 언어 4강] C# 기본 문법 (1/2) 연산자 (0) | 2021.02.23 |
[C# 언어 3강] 데이터형 (4/5) 사용자 지정형 (0) | 2021.02.23 |