C# 일반화 프로그래밍 2
본문 바로가기
  • 게임 개발자가 되고싶은 구구
게임 개발 공부/C#

C# 일반화 프로그래밍 2

by gugu99 2021. 12. 20.
반응형

안녕하세요!

 

게임개발자가 되기위해 공부하고있는 구구입니다.

오늘은 어제에 이어 일반화 프로그래밍에 대해 공부하도록 하겠습니다.


  • 일반화 컬렉션(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>에 원하는 자료형을 넣음으로서 해당 자료형만 다룸.

 

 

C#-ArrayList-List&lt;T&gt;

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

 

C#-ArrayList-List&lt;T&gt;


  • Queue<T>

- Queue와 유사

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

 

 

C#-Queue-Queue&lt;T&gt;-Enqueue-Dequeue-Peek-Count

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

 

 

C#-Queue-Queue&lt;T&gt;-Enqueue-Dequeue-Peek-Count


  • Stack<T>

- Stack과 유사

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

 

C#-Stack-Stack&lt;T&gt;-Push-Pop-Peek
C#-Stack-Stack&lt;T&gt;-Push-Pop-Peek


  • 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

댓글