안녕하세요!
게임개발자가 되기위해 공부하고있는 구구입니다.
오늘은 어제에 이어 일반화 프로그래밍에 대해 공부하도록 하겠습니다.
- 일반화 컬렉션(Collection Generic)
- 컬렉션의 Boxing과 Unboxing 단점을 해결
- List<T>
- Queue<T>
- Stack<T>
- Dictionary<T>
일반화 컬렉션을 사용하려면
using System.Collections.Generic;
를 입력해줘야합니다.
우선 일반화 컬렉션에 대해 설명하기 앞서 대부분의 방식이 앞서 배웠던 그냥 컬렉션과 유사한점이 많기 때문에 해당 내용을 공부했던 부분을 링크로 먼저 걸어두겠습니다.
- C# 컬렉션 1
https://gugugame.tistory.com/entry/C-%EC%BB%AC%EB%A0%89%EC%85%98
C# 컬렉션 1
안녕하세요! 오늘도 게임개발자가 되기위해 공부하고 있는 구구입니다. 오늘은 C#의 컬렉션에 대해 알아보도록 하겠습니다. 컬렉션(Collection) - 데이터 저장, 검색, 기타 데이터 처리 특화 - 자료
gugugame.tistory.com
- C# 컬렉션 2
https://gugugame.tistory.com/entry/C-%EC%BB%AC%EB%A0%89%EC%85%98-2-1
C# 컬렉션 2
안녕하세요! 오늘도 게임개발자가 되기위해 공부하고 있는 구구입니다. 오늘도 C#의 컬렉션에 대해 알아보도록 하겠습니다. Stack Stack stack = new Stack(); stack.Push("a"); int[] arrData = {100, 200, 3..
gugugame.tistory.com
- List<T>
- ArrayList와 유사
- <T>에 원하는 자료형을 넣음으로서 해당 자료형만 다룸.

List<T>는 어떠한 데이터형이 올지 모르기 때문에 foreach로 읽을 때 var을 이용해서 받는 모습을 볼 수 있습니다.

- Queue<T>
- Queue와 유사
- <T>에 원하는 자료형을 넣음으로서 해당 자료형만 다룸.

Count는 Queue에 데이터가 얼마나 있는지를 나타낸다.

- Stack<T>
- Stack과 유사
- <T>에 원하는 자료형을 넣음으로서 해당 자료형만 다룸.


- Dictionary
- Hashtable과 유사
- key값이 있고 그 key값에 데이터값이 저장되어있음.(즉, 좌표처럼 한 쌍을 이루고 있음)
- 사용하는 함수도 Hashtable과 유사

여기서 foreach를 이용한 Dictionary의 값들을 읽는 모습이 Hashtable과 유사하다는 것을 알 수 있습니다.
Dictionary<string, int> dictionaryAA = new Dictionary<string, int>();
<string, int>에서 string은 key값의 자료형이고 int는 데이터의 자료형입니다.
foreach(var key in dictionaryAA.Keys) {
Console.WriteLine("key: {0}, data: {1}", key, dictionaryAA[key]);
}
var로 받은 이유는 key값이 어떠한 값일지 모를 수 있기 때문입니다.(현 코딩에서는 string으로 받아도 문제없음)
컬렉션명.Keys = 해당 컬렉션의 Key값들
컬렉션명[key] = 해당 key에 저장된 값
컬렉션명.TryGetValue(key, out getValue); = key값에 값이 저장되어있다면 out을 이용해서 값을 내보내 고 없다면 null을 반환
오늘은 여기까지 하도록 하겠습니다.
'게임 개발 공부 > C#' 카테고리의 다른 글
C# 델리게이트&이벤트 (0) | 2021.12.22 |
---|---|
C# 예외 처리 (0) | 2021.12.21 |
C# 일반화 프로그래밍 1 (0) | 2021.12.19 |
C# 컬렉션 2 (0) | 2021.12.15 |
C# 컬렉션 1 (0) | 2021.12.14 |
댓글