1. Switch 문
switch 문의 기본형은 다음과 같습니다.
- 변수의 값이 case로 분류할 수 있는 것이 명확할 때, 사용할 수 있습니다.
예제) 숫자를 입력 받아 입력한 숫자가 어떤 case에 해당하는지 판별한다.
2. 컬렉션(Collection)
컬렉션(Collection)
: C#에서 지원하는 여러 데이터의 검색과 저장을 위해 특화된 자료구조 클래스
- List, ArratList, Dictionary, HashTable, Stack,Queue 등
(1) 배열(Array)
- 고정된 배열 크기로, 선언시 크기를 지정해주고, 삭제 및 추가와 같은 변형이 불가능하다.
- 같은 타입만 저장이 가능하다.
- 다차원 배열 입력이 가능하다.
배열 선언
int[] Array_Name1 = new int[5]; //데이터타입[] 배열 이름 = new 데이터타입[배열의 길이(개수)]
int[] Array_Name2 = {1,2,3,4,5}; //배열을 초기화하면서 데이터 값을 바로 넣어주는 방식입니다.
//Array_Nave[0] = 1
- 배열의 index는 0부터 시작합니다.
- 위의 예시에서 Array_Name2[0]에는 1이 들어가고, [1],[2],[3],[4]에는 2,3,4,5 데이터값이 순차적으로 들어갑니다.
배열의 길이 조절
- 배열의 길이는 일반적으로는 잘 바꾸지 않으며, 바꿔야 할때는 Resize코드로 변경 가능합니다.
int[] Array_Name = {1,2,3,4,5};
// 위의 배열의 길이를 10으로 늘리기 위한 코드는 다음과 같습니다.
System.Resize(ref Array_Name, 10);또는,Array_Name = (int[])ResizeArray(Array_Name, 10);
(2) 리스트(List)
- 배열 크기가 고정되지 않아 삭제 및 추가가 가능하다.
- 같은 타입끼리만 저장이 가능하다.
- 박싱 및 언박싱이 발생하지 않는다.
List 선언
List<데이터타입> 변수이름 = new List<>();
- 리스트를 처음 선언했을 때, 리스트의 길이는 0입니다.
Add(배열 추가)
List<string> myString = new List<>();
myString.Add("one");
myString.Add("two");
myString.Add("three");
- myString : [0]"one", [1]"two", [2]"three"
- 새로 추가하는 데이터 값들은 배열의 뒤에 추가됩니다.
Index(배열 삽입)
myString.Insert(0,"Insert");
0번 인덱스에 "Insert"를 삽입해줍니다.
기존의 0번 인덱스에 있던 데이터값은 1번 인덱스로 가는 등, 하나씩 뒤로 밀려나게 됩니다.
myString : [0]"Insert", [1]"one", [2]"two", [3]"three"
Remove, RemoveAt(배열 삭제)
myString.Remove("two"); //데이터를 찾아서 삭제. myString : [0]"Insert", [1]"one", [2]"three"
myString.RemoveAt(0); //해당하는 인덱스의 데이터 삭제. myString : [0]"one", [1]"three"
Contains(리스트 안에 데이터가 있는지 찾아서 true/false 반환)
Debug.Log(myString.Contains("three")); //true 출력.
BinarySearch(List안의 데이터가 몇번 인덱스에 있는지 인덱스를 반환)
Debug.Log(myString.BinarySearch("three")); //1번 출력.
Clear(리스트 초기화)
myString.Clear();
Debug.Log(myString.Count); //0개 출력.
Sort(정렬)
: 배열을 정렬해주는 함수입니다.
int 타입이라면 오름차순으로, string(또는 char) 타입이라면 알파벳순으로 정렬해줍니다.
(3) 딕셔너리(Ditionary)
- key와 value를 사용해서 자료를 저장하는 타입
- 선언 시 미리 타입을 설정하기 때문에 입출력 시 박싱, 언박싱이 일어나지 않습니다. 따라서 다른 타입으로 변환하는 경우에도 오류가 생길 우려가 없습니다.
Dictionary 선언
var dictionary = new Dictionary<string, int>();
or
var dic = new Dictionary<string, int>() //바로 값 입력.
{
{"a", 10},
{"b", 12},
{"c", 14}
}
Add (추가)
dictionary.Add("a", 10);
dictionary.Add("b", 12);
dictionary.Add("c", 14);
int d = dictionary["a"]; // b = 10
ContainsKey (Key 검색)
Debug.Log(dictionary.ContainsKey("a")); // "a" 문자열이 존재할 경우 true, 아닐 경우 false를 return.
TryGetValue (Key를 통해 값을 반환)
int d = 0; // value와 같은 타입
if(dictionary.TryGetValue("b", out d)) // "b" 문자열이 존재할 경우 true, 아닐 경우 false를 return.
Debug.Log(a); // 12가 찍힘.
if(dictionary.TryGetValue("c", out int aa))
Debug.Log(aa); // 변수 선언을 미리하지 않아도 14가 찍힘.
KeyValuePair (Dictionary 안에 있는 데이터 foreach로 확인)
foreach(KeyValuePair<string, int> p in dictionary)
{
Debug.Log(p.Key+","+ p.Value);
}
또는 var를 사용해도 됩니다.
foreach(var p in dictionary)
{
Debug.Log(p.Key+","+ p.Value);
}
Remove
dictionary.Remove("a")
출처 |
[C# 입문] if 문 과는 다르게 쓸 수 있는 switch 문 - https://studium-anywhere.tistory.com/49
[C# 입문] if 문 과는 다르게 쓸 수 있는 switch 문
앞서 우리는 if문에 대해 배워보았습니다. [C#] 프로그래밍의 꽃 if문 if문에서는 어떤 상황을 가정하며 상황에 맞는 결과를 출력 혹은 행동할 수 있게끔 프로그램을 이끌어가는 하나의 흐름으로
studium-anywhere.tistory.com
일반적으로 사용되는 컬렉션 형식 - https://learn.microsoft.com/ko-kr/dotnet/standard/collections/commonly-used-collection-types
일반적으로 사용되는 컬렉션 형식 - .NET
해시 테이블, 쿼리, 스택, 모음, 사전, 목록과 같이 .NET에서 일반적으로 사용되는 컬렉션 형식에 대해 알아봅니다.
learn.microsoft.com
C#배열,컬렉션(Collection) 자료구조 정리 - https://blog.naver.com/tutorials_korea/221610337593
C#배열,컬렉션(Collection) 자료구조 정리
C# 자료구조 정리 아래의 링크를 클릭해서 보세요. (링크 없는 글은 향후 추가 예정) 1. C# 자료구조 정...
blog.naver.com
[C# 기초] #11 : Collection(List, ArrayList) - https://geukggom.tistory.com/92
[C# 기초] #11 : Collection(List, ArrayList)
안녕하세요! 극꼼입니다! 오늘부터는 Collection중 List와 ArrayList에 대해 배워보겠습니다 ㅎㅎ * Collection : https://geukggom.tistory.com/95 [서론] 자료구조 : 데이터를 구조적으로 구현하는 알고리즘 Collectio
geukggom.tistory.com
[C# 기초] #12 : Collection(Dictionary, HashTable) - https://geukggom.tistory.com/96
[C# 기초] #12 : Collection(Dictionary, HashTable)
[서론] 자료구조 : 데이터를 구조적으로 구현하는 알고리즘 Collection : C#에서 지원하는 자료구조 클래스. List, ArrayList, Dictionary, HashTable, Stack, Queue 등이 있음. 이번 포스팅에서는 이 중 Dictionary, Hash
geukggom.tistory.com
'Tech Review : Unity & C#' 카테고리의 다른 글
4. Argon Assault : 96. ToString() To Display Score ~ 107. Wrap Up - Argon Assault (1) | 2023.11.30 |
---|---|
4. Argon Assault : Section Intro ~ Using GetAxis() For Movement (7) (0) | 2023.11.19 |
C# 문법 : 반복문 (for, foreach, while,break,continue) (0) | 2023.11.10 |
4. Argon Assault : Unity's New Input System ~ Set Up Firing Input (0) | 2023.11.10 |
3. Project Boost : Add cheat / Debug Keys ~ Wrap Up (6) (0) | 2023.11.03 |