C#프로그래밍

List, Dictionary 복습

다모아 2023. 7. 27. 10:07

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