C#

[C#] λ°°μ—΄

쑰밈밍 2022. 9. 14. 17:36

πŸ’‘ μ»¬λ ‰μ…˜ Collection

: 이름 ν•˜λ‚˜λ‘œ 데이터 μ—¬λŸ¬ 개λ₯Ό 담을 수 μžˆλŠ” 그릇

: λ°°μ—΄(array), 리슀트(list), 사전(dictionary)...

 

πŸ’‘ λ°°μ—΄ Array

: λ°°μ—΄ 이름 ν•˜λ‚˜λ‘œ 데이터 μ—¬λŸ¬ 개λ₯Ό μ €μž₯

: λ³€μˆ˜ μ—¬λŸ¬κ°œλ₯Ό 이름 ν•˜λ‚˜λ‘œ 관리.

: μˆœμ„œ μžˆλŠ” 집합. 

: 각 μš”μ†Œλ“€μ— 인덱슀둜 μ ‘κ·Ό

: μΈλ±μŠ€λŠ” 0λΆ€ν„° μ‹œμž‘.

: λ°°μ—΄ ν•˜λ‚˜μ—λŠ” 데이터 ν˜•μ‹ ν•˜λ‚˜λ§Œ 보관 κ°€λŠ₯

: λ©”λͺ¨λ¦¬μ˜ μ—°μ†λœ 곡간을 미리 ν• λ‹Ήν•˜κ³ , 이λ₯Ό λŒ€κ΄„ν˜Έ[]와 0λΆ€ν„° μ‹œμž‘ν•˜λŠ” μ •μˆ˜ν˜• 인덱슀λ₯Ό μ‚¬μš©ν•΄ μ ‘κ·Όν•˜λŠ” ꡬ쑰

: new ν‚€μ›Œλ“œλ‘œ λ°°μ—΄ 생성후 μ‚¬μš©ν•  수 μžˆλ‹€.

: λ°°μ—΄μ—μ„œ κ°’ ν•˜λ‚˜λŠ” μš”μ†Œ(element) λ˜λŠ” ν•­λͺ©(item)으둜 ν‘œν˜„.

 

❗ λ°°μ—΄ μ‚¬μš© μž₯점

- 이름 ν•˜λ‚˜λ‘œ μ—¬λŸ¬ 개의 λ³€μˆ˜λ₯Ό λ¬Άμ–΄ κ΄€λ¦¬ν•˜κΈ° νŽΈν•¨

- ν•„μš”ν•œ 데이터 κ°œμˆ˜κ°€ μ •ν™•ν•˜λ‹€λ©΄ λ©”λͺ¨λ¦¬λ₯Ό 적게 μ‚¬μš©ν•΄ ν”„λ‘œκ·Έλž¨ 크기가 μž‘μ•„μ§„λ‹€. μ„±λŠ₯ ν–₯상

 

❗ λ¬Έμžμ—΄ == 문자의 λ°°μ—΄

λ¬Έμžμ—΄μ„ λΆ„ν•΄ν•΄ 문자λ₯Ό ν•˜λ‚˜μ”© 뢄리할 수 μžˆλ‹€.

"ABC"[0]		 // 'A'
"ABC".GetType()		// System.String
"ABC"[0].GetType()	// System.Char

 

πŸ’‘ λ°°μ—΄ 생성

: λ°μ΄ν„°ν˜•[] λ°°μ—΄λͺ… = new λ°μ΄ν„°ν˜•[크기];

=> μ„ μ–Έ ν›„ new μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•΄ λ°°μ—΄ 크기만큼 λ©”λͺ¨λ¦¬ μ˜μ—­ ν• λ‹Ή

❗ new ν‚€μ›Œλ“œ : μΈμŠ€ν„΄μŠ€ν™” μ‹œμΌœμ£ΌλŠ” μ—°μ‚°μž, μ‹€μ œ μ‚¬μš©κ°€λŠ₯ν•˜κ²Œ λ§Œλ“¦

❗ λ°°μ—΄ 전체λ₯Ό forλ¬Έ λŒλ¦΄λ•Œ foreach μ‚¬μš©

❗ λ°°μ—΄ 크기 => λ°°μ—΄λͺ….Length 

❗ λ°°μ—΄μ˜ 차원 => λ°°μ—΄λͺ….Rank 

❗ 차원에 ν•΄λ‹¬ν•˜λŠ” 길이 (3차원 λ°°μ—΄μ—μ„œ 주둜 μ‚¬μš©) => λ°°μ—΄λͺ….GetLength(n)

// 1차원 λ°°μ—΄
int[] arr; 		 // λ°°μ—΄ μ„ μ–Έ
arr = new int[3];	// λ°°μ—΄ μš”μ†Œ 개수 생성
arr[0] = 150; 		// λ°°μ—΄ μ΄ˆκΈ°ν™”

int[] arr = new int[3] {1,2,3};	// μ„ μ–Έ, μš”μ†Œ 생성, μ΄ˆκΈ°ν™”
var intArr = new int[] {1,2,3,4,5};

// new ν‚€μ›Œλ“œ, int[] μƒλž΅ -> λ°”λ‘œ μ΄ˆκΈ°ν™”
int[] A = { 1, 2, 3 };
int[,] twoA = {{1,2},{3,4}};

for (int i = 0; i < A.Length; i++)
{
    Console.WriteLine("{0}", A[i]);
}

// 닀차원 λ°°μ—΄
int[] oneArr;		// 1차원 λ°°μ—΄
int[,] twoArr;		// 2차원 λ°°μ—΄
int[,,] threeArr;	// 3차원 λ°°μ—΄(μΈ΅, ν–‰, μ—΄)

oneArr = new int[2] { 1, 2 }; 
twoArr = new int[2, 2] { { 1, 2 }, { 3, 4 } }; 
threeArr = new int[2, 2, 2] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

❗ $"{3.141592:0.00}" == μ†Œμˆ˜ λ‘˜μ§Έ μžλ¦¬κΉŒμ§€ ν‘œν˜„ 

 

πŸ’‘ κ°€λ³€ λ°°μ—΄

int[][] arr = new int[2][];
 
arr[0] = new int[] { 1, 2 };    //0번째 행에 μš”μ†Œ 2개둜 μ΄ˆκΈ°ν™”
arr[1] = new int[] { 3, 4, 5 }; //1번째 행에 μš”μ†Œ 3개둜 μ΄ˆκΈ°ν™”