1. 제네릭
List<T> : 인덱스로 액세스할 수 있는 개체 목록을 나타냅니다. 목록의 검색, 정렬 및 수정에 사용할 수 있는 메서드를 제공합니다.
using System;
using System.Collections;
using System.Collections.Generic;
namespace Game2048
{
public class App
{
//생성자
public App()
{
//동적 배열
//리스트 형식 변수 정의
List<string> itemNames;
//컬렉션 인스턴스화 == 리스트 인스턴스화
itemNames = new List<string>();
//요소에 값을 할당
//itemNames.Add(1234);
itemNames.Add("장검");
Console.WriteLine(itemNames.Count); //1 : 요소의 수
itemNames.Add("단검");
Console.WriteLine(itemNames.Count); //2 : 요소의 수
//List는 동적 "배열", 인덱스로 요소에 접근 가능
string name0 = itemNames[0];
Console.WriteLine(name0);
itemNames.Remove("장검");
Console.WriteLine(itemNames.Count); //1 : 요소의 수
//순회
for (int i = 0; i < itemNames.Count; i++)
{
Console.WriteLine(itemNames[i]);
}
foreach (string name in itemNames)
{
Console.WriteLine(name);
}
}
}
}
Dictonary <TKey, TValue> : 키에 따라 구성된 키/값 쌍의 컬렉션을 나타냅니다.
using System;
using System.Collections;
using System.Collections.Generic;
namespace Game2048
{
public class App
{
//생성자
public App()
{
//Dictionary : 키 / 값 쌍으로 데이터를 저장 관리하는 컬렉션
//변수정의
Dictionary<int, string> dic;
//인스턴스화 --> 반드시 해야함
dic = new Dictionary<int, string>();
//넣기
dic.Add(100, "장검");
//dic.Add(100, "단검"); // 동일한 키 사용 안됌
dic.Add(101, "단검");
// 요소에 접근
string name101 = dic[101];
Console.WriteLine(name101); //단검
//string name102 = dic[102]; // 동일한 키 사용 불가
//순회
foreach(KeyValuePair<int, string> pair in dic)
{
Console.WriteLine("{0}, {1}", pair.Key, pair.Value);
}
//지우기
dic.Remove(100);
//요소의 수
Console.WriteLine(dic.Count);
}
}
}
Queue<T>
using System;
using System.Collections;
using System.Collections.Generic;
namespace Game2048
{
public class App
{
//생성자
public App()
{
//컬렉션 인스턴스화
Queue<string> q = new Queue<string>();
//요소 넣기
q.Enqueue("장검");
q.Enqueue("단검");
q.Enqueue("활");
q.Enqueue(null);
//요소 제거
string element = q.Dequeue();
Console.WriteLine(element);
//시작 부분에 값을 제거하지않고 반환, 가장 앞에 있는 요소 값 확인
q.Peek();
//요소의 수 출력
Console.WriteLine(q.Count);
//순회
foreach(string s in q)
{
Console.WriteLine(s);
}
}
}
}
Stack<T>
using System;
using System.Collections;
using System.Collections.Generic;
namespace Game2048
{
public class App
{
//생성자
public App()
{
//인스턴스화
Stack<int> stack = new Stack<int>();
//요소 넣기
stack.Push(1);
stack.Push(2);
stack.Push(3);
//요소 제거
int pop = stack.Pop();
Console.WriteLine(pop);
//요소 확인
int peek = stack.Peek();
Console.WriteLine(peek);
//요소의 수 출력
Console.WriteLine(stack.Count);
//순회
foreach(int i in stack)
{
Console.WriteLine(i);
}
}
}
}
'C#프로그래밍' 카테고리의 다른 글
디자인패턴/싱글톤패턴/DataManager, 개체 이니셜라이저 (0) | 2023.07.26 |
---|---|
가짜 인벤토리 만들기 1단계 (0) | 2023.07.26 |
namespace, 컬렉션[ArrayList, Hashtable, Stack, Queue] (0) | 2023.07.26 |
좌표, 인덱스, Utils, Vector2, Hero (0) | 2023.07.25 |
2048[미완] (0) | 2023.07.25 |