1) 배열 선언 형식
1-1) 1차원 배열
- 데이터형식[] 배열이름 = new 데이터형식[배열의크기];
- string[] members = new string[10];
- string[] members = new string[3]{"kim" , "lee", "park"};
- string[] members = {"kim" , "lee", "park"};
1-2) 2차원 배열
- 데이터형식[,] members = new 데이터형식[2차원크기,1치원크기];
- string[,] members = new string[2,3];
- string[,] members = new string[2,3] {{"kim", "mun", "park"}, {"lee", "ki", "jo"}};
- string[,] members = {{"kim", "mun", "park"}, {"lee", "ki", "jo"}};
ex)
string[] members = new string[10];
string[] members = {"kim", "mun", "park"};
string[,] members = new string[2,3] {{"kim", "mun", "park"}, {"lee", "ki", "jo"}};
string[,] members = {{"kim", "mun", "park"}, {"lee", "ki", "jo"}};
2) 2,3 차원 배열 접근
2-1) 2차원 배열접근
int[,] score2 = new int[2, 3];
score2[0, 0] = 0;
score2[0, 1] = 1;
score2[0, 2] = 2;
score2[1, 0] = 10;
score2[1, 1] = 11;
score2[1, 2] = 12;
2-2) 3차원 배열접근
int[,,] score5 = new int[2, 3, 2];
score5[0, 0, 0] = 1;
score5[0, 0, 1] = 2;
score5[0, 1, 0] = 3;
score5[0, 1, 1] = 4;
score5[0, 2, 0] = 5;
score5[0, 2, 1] = 6;
score5[1, 0, 0] = 7;
score5[1, 0, 1] = 8;
score5[1, 1, 0] = 9;
score5[1, 1, 1] = 10;
score5[1, 2, 0] = 11;
score5[1, 2, 1] = 12;
3) 가변배열
- 선언 형식
데이터형식[][] 배열이름 = new 데이터형식[가변배열의 크기][];
ex)
int[][] array1 = new int[3][];
array1[0] = new int[5] { 1, 2, 3, 4, 5 };
array1[1] = new int[3] { 1, 2, 3 };
array1[2] = new int[] { 1, 2, 3, 4 };
foreach (int[] arrayData1 in array1)
{
foreach (int arrayData2 in arrayData1)
Console.Write("{0} ", arrayData2);
Console.WriteLine();
}
4) foreach
- foreach 형식
foreach(데이터형식 변수명 in 배열/컬렉션)
반복 실행 코드
ex)
string[,] members = new string[2,3] { { "kim", "mun", "park" }, { "lee", "ki", "jo" } };
foreach (string membersData in members)
Console.Write(membersData + " / ");
c++의 &대신 ref를 사용하되 자료형 앞에 붙인다
ex)
ref int n = 10;
void int sw(ref int n1, ref int n2)
{
}
- 데이터 형식을 알아서 컴파일러가 지정
ex)
var vr1 = "abc";
var vr2 = 3.14;
var vr3 = new int[]{ 1, 2, 3, 4 };
- 메소드 안에서 선언된 함수
- 일반 메소드와 형태는 같으나 메소드안에 만든다는것이 차이점
- 메소드 안에서 선언되었기때문에 클래스 멤머가 아님
- 메소드안에 선언된 지역변수를 사용 할 수 있음
'개발 > c#(c++과 차이점 위주)' 카테고리의 다른 글
[c#강좌] maxValue/minValue사용법 , null/nullable , 열거형상수enum (0) | 2019.01.21 |
---|---|
[c#강좌] 화면입출력, 자료형, 접미어 (0) | 2019.01.20 |