본문 바로가기
NOTE/Programming

[C#] Dictionary<Tkey, TValue> 클래스

by DevAthena 2018. 4. 1.

참고 : ​http://www.hoons.net/board/qacshap/content/33713


Dictionary 클래스

키와 값으로 이루어진 해시테이블 형태의 제네릭 컬렉션 


배열이나, List 같은 경우 원하는 값에 접근하려면 해당 값의 인덱스나, 반복문을 통해 찾는 방법 밖에 없다.

그러나, Dictionary 클래스는 키에 대응하는 값을 바로 찾을 수 있다.


사용방법 ▽

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using System;
using System.Collections.Generic;
 
namespace Jinsoo.Examples
{
    class DictionaryTest
    {
        static void Main(string[] args)
        {
            Dictionary<stringstring> hoons = new Dictionary<stringstring>();
            Console.WriteLine("-------------------------------------------");
 
            // 사전에 추가
            hoons.Add("HS""HOONS");
            hoons.Add("JS""JINSU");
            hoons.Add("YS""YOUNGSU");
            hoons.Add("SY""SUYOUNG");
 
            Console.WriteLine(hoons["JS"]);
 
            // 키가 존재하면 값이 대체 됩니다.
            hoons["JS"= "JISUN";
 
            Console.WriteLine(hoons["JS"]);
            Console.WriteLine("-------------------------------------------");
 
            // 사전에서 제거합니다.
            hoons.Remove("JS");
 
            // 지정한 키가 없다면 예외가 발생합니다.
            try
            {
                Console.WriteLine(hoons["JS"]);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
 
            // Try 패턴으로 예외를 피할 수 있습니다.
            string js = string.Empty;
            if (hoons.TryGetValue("JS"out js))
            {
                Console.WriteLine(js);
            }
            Console.WriteLine("-------------------------------------------");
 
            // 키의 존재 우뮤 판단으로 안전하게 사전에 추가할 수 있습니다.
            if (!hoons.ContainsKey("DJ"))
            {
                hoons.Add("DJ""DONGJIN");
            }
            else
            {
                hoons["DJ"= "DONGJIN";
            }
            
            // 설정/검색이 가능한 키/값 쌍을 나열합니다.
            foreach (var h in hoons)
            {
                Console.WriteLine("Key = {0}, Value = {1}", h.Key, h.Value);
            }
            Console.WriteLine("-------------------------------------------");
 
            // 사전 키를 나열합니다.
            foreach (var hKey in hoons.Keys)
            {
                Console.WriteLine(hKey);
            }
            Console.WriteLine("-------------------------------------------");
 
            // 사전 값을 나열합니다.
            foreach (var hValue in hoons.Values)
            {
                Console.WriteLine(hValue);
            }
            Console.WriteLine("-------------------------------------------");
        }
    }
}
cs



 



관련 함수

 - KeyValuePaire : foreach문 사용시에 Dictionary로 collection된 데이터를 순차적으로 접근 할 수 있게 한다.

1
2
3
4
foreach(KeyValuePair<stringList<T>> p in m_createdObjects)
{
    resourceCount += p.Value.Count;
}

cs


 


'NOTE > Programming' 카테고리의 다른 글

[C#] 클래스의 상속  (0) 2018.04.01
[C#] Delegate && Event  (0) 2018.04.01
[C++] 문자열을 입력받는 12가지 방법 (펌)  (0) 2018.04.01
[C#] 열거형 형식  (0) 2016.11.08
[C#] Singleton  (0) 2016.10.05