C++에서 그랬듯 C#에서도 배열을 선언하고 초기화할 수 있다.
그러나 C++ 과는 다른 식으로 배열을 선언하고 초기화 해야한다.
using System;
namespace Favor
{
internal class Program
{
static void Main(string[] args)
{
int[] arr1 = new int[3] {1, 2, 3};
}
}
}
C#에서의 배열의 선언은 위와 같다.
C++에서는 자료형을 명시하고, 배열의 이름을 명시한 뒤, 이름 뒤에 배열의 크기를 [] 대괄호 안에 명시했었는데,
C#에서는 오히려 자료형 뒤에 []대괄호를 사용해 이 변수가 단순히 int형 변수인지, int형 자료를 저장하는 배열 변수인지를 나타낸다.
또 다른점은, 대입 연산자 = 를 사용한다는 점과 더불어 새롭게 등장한 new다.
우선 대입 연산자의 좌항에는 배열의 자료형과 배열임을 명시하는 대괄호[], 그리고 배열변수의 이름을 순서대로 입력한다.
그 후 대입 연산자의 우항에는 new와 함께 자료형과 함께 배열의 크기를 []대괄호 안에 명시한 후, {}중괄호 안에 배열에 저장할 값을 넣어주는 것으로 끝난다.
10. 배열 에서 알아본 C++의 배열 선언 및 초기화와 마찬가지로, C#에도 배열을 선언하고 초기화하는 방법이 여럿 있다.
using System;
namespace Favor
{
internal class Program
{
static void Main(string[] args)
{
//1. 배열의 크기를 new연산자와 함께 명시
int[] arr1 = new int[3];
//2. 배열의 크기를 생략하고 new 연산자와 함께 명시후 즉시 초기화
int[] arr2 = new int[] { 1, 2, 3 };
//3. 배열의 크기와 new 연산자를 생략
int[] arr3;
}
}
}
위와 같은 방법으로 배열을 선언할 수 있다.
C++의 10. 배열 에서 배웠던 것과 비슷한 방식으로 선언할 수 있으며, C#에서는 new연산자의 유무로도 구분할 수 있다.
일반 배열 외에, 다차원 배열을 선언하는 것도 물론 가능한데, 기존의 방법도 사용 가능하지만, 새로운 방법으로 선언할 수 있다.
using System;
namespace Favor
{
internal class Program
{
static void Main(string[] args)
{
// int[][] arr1 = new int[2][3];
int[,] arr1 = new int[2,3];
}
}
}
주석처리한 문장대로 선언한 배열 arr1과 아래와 같이 선언한 배열 arr1은 서로 같은 구조를 갖는다.
대괄호 두개로 2차원 배열을 선언했던 기존의 방법 대신, 대괄호 안에 콤마를 추가하는 방식으로 해당 배열의 차원을 늘려갈 수 있다.
'C# 일기' 카테고리의 다른 글
| 5. 얕은 복사(Shadow Copy)와 깊은 복사(Deep Copy) (0) | 2024.03.05 |
|---|---|
| 4. 생성자 (Constructor) (0) | 2024.03.04 |
| 3. foreach문 (0) | 2024.03.04 |
| 1. 값 형식 변수와 참조 형식 변수 (0) | 2024.03.04 |
| 0. C# 입출력 (Console.) (0) | 2024.03.04 |