logo

Словник C# з прикладами

У C# словник — це загальна колекція, яка зазвичай використовується для зберігання пар ключ/значення. Робота Dictionary дуже схожа на незагальну хеш-таблицю. Перевагою словника є те, що він загального типу. Словник визначено в просторі імен System.Collections.Generic. Він динамічний за своєю природою, тобто розмір словника зростає відповідно до потреб. Важливі моменти:

  • Клас Dictionary реалізує
    • IDictionary Інтерфейс
    • IReadOnlyCollection Інтерфейс
    • IReadOnlyDictionary Інтерфейс
    • IDictionary Інтерфейс
  • У Словнику ключ не може бути нульовим, але значення може бути.
  • У словнику ключ має бути унікальним. Дублікати ключів заборонені, якщо ви спробуєте використати дублікат ключа, тоді компілятор створить виняток.
  • У Словнику можна зберігати лише елементи одного типу.
  • Місткість словника — це кількість елементів, які може вмістити словник.

Як створити словник?

Словник клас має 7 конструкторів які використовуються для створення словника, тут ми використовуємо лише конструктор Dictionary(), і якщо ви хочете дізнатися більше про конструктори, перегляньте C# | Словник Клас . Словник(): Цей конструктор використовується для створення екземпляра класу Dictionary, який є порожнім, має початкову ємність за замовчуванням і використовує компаратор рівності за замовчуванням для типу ключа наступним чином: Крок 1: Включіть простір імен IncludeSystem.Collections.Generic у свою програму за допомогою ключового слова use. Синтаксис:



using System.Collections.Generic;>

Крок 2: Створіть словник за допомогою класу Dictionary, як показано нижче:

Dictionary dictionary_name = new Dictionary();>

крок 3: Якщо ви хочете додати елементи у свій словник, скористайтеся методом Add(), щоб додати пари ключ/значення у свій словник. Ви також можете додати пару ключ/значення до словника без використання методу Add. Як показано в прикладі нижче. крок 4: Доступ до пари ключ/значення Словника здійснюється за допомогою три різні шляхи:

    Цикл for: Ви можете використовувати цикл for для доступу до пар ключ/значення Словника. приклад:

CSharp








for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }>

>

>

    Використання індексу: ви можете отримати доступ до окремої пари ключ/значення словника, використовуючи його значення індексу. Тут ви просто вказуєте ключ в індексі, щоб отримати значення з даного словника, не потрібно вказувати індекс. Індексатор завжди приймає ключ як параметр, якщо заданий ключ відсутній у словнику, він дає KeyNotFoundException . приклад:

CSharp




Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);>

>

>

    Цикл foreach: Ви можете використовувати цикл foreach для доступу до пар ключ/значення словника. Як показано в наведеному нижче прикладі, ми отримуємо доступ до Словника за допомогою циклу foreach.

приклад:

CSharp




// C# program to illustrate how> // to create a dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict1 => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs> >// in the Dictionary> >// Using Add() method> >My_dict1.Add(1123, 'Welcome');> >My_dict1.Add(1124, 'to');> >My_dict1.Add(1125, 'techcodeview.com');> > >foreach>(KeyValuePair<>int>,>string>>ele1>>>My_dict1)> >{> >Console.WriteLine('{0} and {1}',> >ele1.Key, ele1.Value);> >}> >Console.WriteLine();> > >// Creating another dictionary> >// using Dictionary class> >// adding key/value pairs without> >// using Add method> >Dictionary<>string>,>string>>My_dict2 => >new> Dictionary<>string>,>string>>(){> >{'a.1', 'Dog'},> >{'a.2', 'Cat'},> >{'a.3', 'Pig'} };> > >foreach>(KeyValuePair<>string>,>string>>ele2>>in> My_dict2)> >{> >Console.WriteLine('{0} and {1}', ele2.Key, ele2.Value);> >}> >}> }>

>

>

Вихід:

1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>

Як видалити елементи зі словника?

У словнику ви можете видаляти елементи зі словника. Клас словника надає два різні методи для видалення елементів, і ці методи:

  • ясно : Цей метод видаляє всі ключі та значення зі словника.
  • видалити : Цей метод видаляє значення з указаним ключем зі словника.

приклад:

CSharp




// C# program to illustrate how> // remove key/value pairs from> // the dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main() {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Before Remove() method> >foreach>(KeyValuePair<>int>,>string>>він>in> My_dict)> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > >// Using Remove() method> >My_dict.Remove(1123);> > >// After Remove() method> >foreach>(KeyValuePair<>int>,>string>>він>in> My_dict)> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > > >// Using Clear() method> >My_dict.Clear();> > >Console.WriteLine('Total number of key/value '+> >'pairs present>in> My_dict:{0}', My_dict.Count);> > >}> }>

>

>

Вихід:

масив c рядок
1123 and Welcome 1124 and to 1125 and techcodeview.com 1124 and to 1125 and techcodeview.com Total number of key/value pairs present in My_dict:0>

Як перевірити наявність елементів у Словнику?

У словнику ви можете перевірити, чи присутній даний ключ або значення у вказаному словнику чи ні. Клас Dictionary надає два різні методи перевірки, і ці методи:

  • Містить ключ : Цей метод використовується для перевірки, чи містить словник вказаний ключ.
  • Містить значення : Цей метод використовується, щоб перевірити, чи містить Словник певне значення.

приклад:

CSharp




// C# program to illustrate how> // to check the given key or> // value present in the dictionary> // or not> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Using ContainsKey() method to check> >// the specified key is present or not> >if> (My_dict.ContainsKey(1122)==>true>)> >{> >Console.WriteLine('Key>is> found...!!');> >}> >else> >{> >Console.WriteLine('Key>is> not found...!!');> >}> > >// Using ContainsValue() method to check> >// the specified value is present or not> >if> (My_dict.ContainsValue('techcodeview.com')==>true>)> >{> >Console.WriteLine('Value>is> found...!!');> >}> >else> >{> >Console.WriteLine('Value>is> not found...!!');> >}> >}> }>

>

>

Вихід:

Key is not found...!! Value is found...!!>