List<T>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FakeInventory
{
public class App
{
//생성자
public App()
{
//컬렉션을 사용할 때 : 개체를 그룹화하고 관리할 때 (배열/컬렉션)
//List<T>
//인스턴스생성
//아이템 이름들을 관리하는 컬렉션
List<string> itemNames = new List<string>();
//추가
itemNames.Add("장검");
itemNames.Add("장검"); //중복 허용
itemNames.Add(null); // null도 허용
//itemNames.Add(123); // 문자열만 가능 string이라서
itemNames.Add("단검");
//요소에 접근
Console.WriteLine(itemNames[0]);
//제거
itemNames.Remove("단검");
//요소의 수 출력
Console.WriteLine(itemNames.Count);
//순회
for(int i = 0; i < itemNames.Count; i++)
{
Console.WriteLine(itemNames[i]);
}
foreach(string itemName in itemNames)
{
Console.WriteLine(itemName);
}
}
}
}
Dictionary
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FakeInventory
{
public class App
{
//생성자
public App()
{
//Dictionary<TKey, TValue>
//키로 요소에 빠르게 접근 가능
// ex) dic[100] : 100 인덱스가 아니다 키다
// 없는 키로 요소에 접근 할 수 없다
//동일 키 사용 불가 (Add할 때)
//인스턴스화
Dictionary<int, string> dicItemNames =
new Dictionary<int, string>();
//추가
dicItemNames.Add(100, "장검");
dicItemNames[101] = "단검";
dicItemNames.Add(102, "활");
//검색 (요소에 접근 키로)
Console.WriteLine(dicItemNames[101]); //단검
//Console.WriteLine(dicItemNames[103]); //키가 없다
//삭제 키로 삭제
dicItemNames.Remove(100);
//요소의 수 출력
Console.WriteLine(dicItemNames.Count);
//순회
foreach(KeyValuePair<int, string> pair in dicItemNames)
{
Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}
}
}
}
'C#프로그래밍' 카테고리의 다른 글
람다, Action<T> , Func<T> (0) | 2023.07.27 |
---|---|
대리자, 무명메서드 (0) | 2023.07.27 |
과제 (0) | 2023.07.26 |
디자인패턴/싱글톤패턴/DataManager, 개체 이니셜라이저 (0) | 2023.07.26 |
가짜 인벤토리 만들기 1단계 (0) | 2023.07.26 |