일련의 동일한 데이터 타입 요소들로 구성된 데이터 집합
인덱스를 통해 Element에 엑세스
C# 배열은 최대 32차까지 다차원 배열을 가질 수 있다
// 1차 배열
string[] players = new string[10];
string[] Regions = { "서울", "경기", "부산" };
// 2차 배열: Rectangular Array(가변 배열)
string[,] Depts = {{"김과장", "경리부"},{"이과장", "총무부"}};
// Jagged Array (가변 배열)
// 1차 배열 크기(3)는 명시(컴파일 시 결정)
int[][] A = new int[3][];
// 각 1차 배열 요소당 서로 다른 크기의 배열 할당 가능(런타임 시 결정)
A[0] = new int[2];
A[1] = new int[3] { 1, 2, 3 };
A[2] = new int[4] { 1, 2, 3, 4 };
A[0][0] = 1;
A[0][1] = 2;
모든 C# 배열은 내부적으로 .NET Framework의 System.Array에서 파생된 것으로 System.Array의 메서드, 프로퍼티를 사용할 수 있다
static void Main(string[] args)
{
int sum = 0;
int[] scores = { 80, 78, 60, 90, 100 };
for (int i = 0; i < scores.Length; i++)
{
sum += scores[i];
}
Console.WriteLine(sum);
}
배열은 레퍼런스(Reference) 타입
모든 배열 데이터를 복제하지 않고, 배열 전체를 가리키는 참조값(Reference pointer)만을 전달한다
static void Main(string[] args)
{
int[] scores = { 80, 78, 60, 90, 100 };
int sum = CalculateSum(scores); // 배열 전달: 배열명 사용
Console.WriteLine(sum);
}
static int CalculateSum(int[] scoresArray) // 배열 받는 쪽
{
int sum = 0;
for (int i = 0; i < scoresArray.Length; i++)
{
sum += scoresArray[i];
}
return sum;
}