본문 바로가기

C#/Knowledge

배열과 컬렉션

[ 배열 ]

동일한 자료형의 값들이 연속적으로 저장되는 자료 구조

 

구버전 메이플스토리 캐릭터 생성 시 랜덤 주사위 시스템을 생각하고 로직을 작성해 보자

( 단, 스탯의 합산 값은 고려하지 않는다 )

주사위 스탯

최솟값 = 4       최댓값 = 13 

 

다차원 배열

주어진 코드에서 Console.WriteLine(array);를 사용하여 배열을 출력하려고 시도하였지만,

이렇게 하면 배열의 주소가 출력되는 것이 기본 동작이다.

배열을 원하는 형태로 출력하려면 배열의 각 요소를 개별적으로 접근하여 출력해야 한다.

따라서, 배열의 각 요소를 개별적으로 출력하는 방법을 사용해야 한다.

 

foreach

조건식을 쓰지 않고 해당 배열을 처음부터 끝까지 반복할때 사용

 

[ 컬렉션 ]

자료를 모아 놓은 데이터 구조

 

List

가변적인 크기를 갖는 배열

사용하기 위해서는 System.Collections.Generic 네임스페이스를 추가

for문을 사용하게 될 때, List는 Length가 아닌 Count를 사용

 

Dictionary

키와 값의 쌍을 이루어 데이터를 저장

딕셔너리 관련 링크 아이템 DB 샘플 (notion.site)

 

아이템 DB 샘플 | Notion

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class ItemDatabase { public Dictionary<string, BaseItem> itemDB = new Dictionary<string, BaseItem>(); // 무기 /

pastoral-lynx-2e1.notion.site

 

Stack

후입선출(LIFO) 구조이며 바구니를 생각하면 쉽다

 

Queue

선입선출(FIFO) 구조이며 파이프를 생각하면 쉽다

 

HashSet

List와 비슷하지만 중복되지 않은 요소들로 이루어진 집합

 

[ 배열과 리스트의 차이점 ]

'C# > Knowledge' 카테고리의 다른 글

구조체  (0) 2024.04.25
메서드  (0) 2024.04.25
반복문  (0) 2024.04.23
조건문  (0) 2024.04.23
연산자와 문자열 처리  (0) 2024.04.22