using System; using System.Collections; using System.Collections.Generic; class Example { public static void Main() {// Cтворення порожнього словника пар рядок-рядок Dictionary d = new Dictionary(); d.Add("лелека", "птах"); // Додавання елементів d.Add("пес", "ссавець"); d.Add("кіт", "ссавець"); d.Add("змія", "плазун"); try {d.Add("лелека", "комаха");} // Спроба дадати пару з наявним ключем catch (ArgumentException) { Console.WriteLine("Пара з ключем \"лелека\" вже є.");} // Доступ до значення за ключем Console.WriteLine("Для ключа \"змія\", значення: {0}.",d["змія"]); d["змія"] = "плазун_лускатий"; Console.WriteLine("Для ключа \"змія\", значення: {0}.",d["змія"]); // Якщо даний ключ не використано, є інший спосіб долучення пари d["синиця"] = "птах"; // Спроба доступу за відсутнім ключем try {Console.WriteLine(d["жаба"]);} catch (KeyNotFoundException) {Console.WriteLine("Ключ \"жаба\" не знайдено.");} // Якщо програмі часто доводиться випробовувати ключі, яких немає в словнику, // TryGetValue може виявитися ефективнішим способом отримання значень. string value = ""; if (d.TryGetValue("жаба", out value)) Console.WriteLine("Для ключа \"жаба\" значення {0}.", value); else Console.WriteLine("Ключ \"жаба\" не знайдено."); // Перевірка наявності ключа if (!d.ContainsKey("муха")) { d.Add("муха", "комаха"); Console.WriteLine("Додане значення для ключа \"муха\": {0}",d["муха"]); } // Перелік елементів foreach( KeyValuePair p in d ) { Console.WriteLine("{0} : {1}", p.Key, p.Value); } Console.Write("Значення:"); // Отримання лише значень Dictionary.ValueCollection vc = d.Values; foreach (string s in vc) Console.Write(" "+s); Console.Write("\nКлючі:"); // Отримання лише ключів Dictionary.KeyCollection kс = d.Keys; foreach (string s in kс) Console.Write(" "+s); // Вилучення пари ключ-значення за ключем d.Remove("павук"); // Жодних змін d.Remove("пес"); if (!d.ContainsKey("пес")) Console.WriteLine("\nКлюч \"пес\" не знайдено"); } }