-
[C#] C# Collection | Immutable CollectionC#(asp.net | asp.net core) 2021. 8. 11. 17:37728x90
Hashtable arr5 = new(); arr5["aaa"] = 111; arr5["bbb"] = 222; arr5["ccc"] = 333; foreach (DictionaryEntry kkk in arr5) WriteLine($"Key : {kkk}, Value:{kkk.Value}"); WriteLine(); // ---------------------------------------- Dictionary<string, int> arr6 = new(); arr6["aaa"] = 111; arr6["bbb"] = 222; arr6["ccc"] = 333; foreach (var kkk in arr6) WriteLine($"Key : {kkk}, Value:{kkk.Value}"); WriteLine(); // --------------- C# 6.0 이후 ----------------- // constructor call(데이터가 많을 때 효율적) Dictionary<string, int> arr7 = new Dictionary<string, int>() { ["aaa"] = 111, ["bbb"] = 222, ["ccc"] = 333 }; foreach (var kkk in arr7) WriteLine($"Key : {kkk}, Value:{kkk.Value}"); WriteLine(); // --------------- C# 8.0 이후 ----------------- var arr8 = JsonSerializer.Serialize(arr7); WriteLine(arr8); // real-time-call (사용할 때) var arr9 = JsonSerializer.Deserialize<Dictionary<string, int>>(arr8); foreach (var kkk in arr9) WriteLine($"Key : {kkk}, Value:{kkk.Value}"); WriteLine();
한번 정의한 Collection을 수정하고 싶지 않을 때
Immutable Collection을 사용하면 된다
IReadOnlyList<int> arr3 = (new List<int> { 1, 2, 3, 4, 5, }).ToImmutableList<int>(); // readOnlyList 에 Add 기능을 사용할 수 없다 // arr3.Add(6); WriteLine($"arr2.size : {arr2.Count}"); foreach (var kkk in arr2) Write($" {kkk}"); WriteLine(); IReadOnlyDictionary<int, string> dic3 = (new Dictionary<int, string> { { 1, "aaa" }, { 2, "bbb" }, { 3, "ccc" }, { 4, "ddd" }, { 5, "eee" }, }).ToImmutableDictionary<int, string>(); foreach (var kkk in dic2) WriteLine($"key : {kkk.Key}, Value : {kkk.Value}");
728x90728x90'C#(asp.net | asp.net core)' 카테고리의 다른 글
[C#] Blazor WebAssembly App 프로젝트 생성하기 (0) 2021.08.18 [C#] Nurrable type (0) 2021.08.12 [C#] IEnumerator | LINQ service 사용해서 문자열 출력 (0) 2021.08.11 [C#] ref 키워드 사용하기 (0) 2021.08.10