//배열//
- 기본개념 :
같은 데이터형 + 변수명 + 순차적인 메모리 나열
- 참조형 :
new를 통해 생성한다.
- Array로 부터 파생된 참조형
- foreach(처음~끝 까지의 값을 읽어낸다.)를 사용 가능하다
<선언 형식>
데이터형 [] 배열명;
int [] array_name;
<생성과 초기화>
(예)
int [] array;
array = new int [] ;
array = new int [3];
-------------------------
int [] array = new int [3];
int [] array = new int [];
--------------------------
int [] array = ;
- Array.Length 속성 : 배열의 개수에 대한 정보를 가지고 있는 변수와 같다.
- foreach 사용 (읽기 전용) :순차적으로 나열하고 싶을 때, 사용
(예)배열안의 숫자를 순차적으로 출력
//이차원 배열//
- 행과 열, 면은 콤마(,)로 구분
행 -> 열 -> 면 순으로 생성한다 .
- 선언 형식
데이터형 [,] 배열명; -> [2][3] 이런식이 X, [2,3] 이런식으로 선언
데이터 형 [,,] 배열명;
- 형식 (이차원 배열과 다차원 배열)
int [,] array1 = new int[2,2];
int [,,] array2 = new int[2,2,3]; // 행, 열, 면
int[,] array1= new int[,]{,};
int[, ,] array2= new int[, ,]{{,},
{ ,}};
//가변 배열//
행과 열에 대한 갯수를 각각 다르게 생성할 수 있게 만든 배열
- 형식
데이터형 [] [] 배열명;
(예) int [][] array_name;
- 사용 예
int [][] array = new int[3][];
//행에 대한 선언
array[0] = new int[2]; //열을 선언해준다.
array[1] = new int[3];
array[2] = new int[4];
array[0] = new int[2];
array[1] = new int[3];
array[2] = new int[4];
-------------------------
array[0] = new int[];
array[1] = new int[];
array[2] = new int[];
-------------------------
//행과 열이 유동적
int [][] array = new int[][]
{
new int[],
new int[],
new int[]
};
(예)가변 배열 사용
(예)가변 다차원 배열 사용
//배열을 함수로 전달//
- 일차원 배열을 함수로 전달
int [] array = ;
void func (int [] arr)
{
}
func(array);
(예) 함수를 사용하여 배열안에있는 값 바꾸기
- 이차원 배열을 참조로 전달
int [,] array2 = {,};
SetArray(array2);
void SetArray(int[,] arr) ->참조 배열 변수
{
}
----------------------------------
SetArray(new int[,]{,}; 함수안에 그대로 배열을 작성해줄 수 있다.
//배열을 리턴하는 함수//
배열을 리턴한다는 의미는 배열을 참조하는 객체의 주소 값을 리턴하는 것을 말한다.
배열을 리턴하기 위해서는 어떤 형태의 리턴타입을 사용할 것인가가 중요하다.
-> 리턴값이 데이터 형과 일치해야한다.
(예)
//함수 구현
//메인 구간
//배열의 메서드들...//
- 배열 -> Array클래스로 부터 파생된 객체
- 배열 초기화 메서드
public static void Clear(
Array array,
int index,
int length
)
- 배열 복사 메서드
public Object Clone()
-> int [] nArray =;
//각각의 메모리를 가진다.
int [] nCloneArray = (int[])nArray1.Clone(); ->nArray1을 참조하여 값을 복사 한다.
'PROGRAMING📚 > C#📑' 카테고리의 다른 글
C# 델리게이트가 생성되는 방식(Action,Func,Delegate,Lambda) (0) | 2023.05.18 |
---|---|
[Programing]C# - 삼항 연산자(?, ??) 기본 처리 방법 (0) | 2023.05.09 |
C#_기본 문법 (0) | 2019.03.07 |
C#_클래스의 응용 (0) | 2019.02.23 |
C#_클래스 (0) | 2019.02.22 |
댓글