Що Таке Словники?
У масивах доступ до даних здійснюється через індексацію (arrayName[index]
). У масиві кожне значення (елемент) має унікальний індекс, який використовується для доступу до цього значення, тому можна сказати, що масив має структуру індекс-значення.
Існує подібна структура, яка називається словником (Dictionary), у якій замість цього використовуються пари ключ-значення. Якщо індекс завжди є цілим числом, то ключ може бути будь-яким базовим типом даних, однак найчастіше використовується string
.
Наступна ілюстрація демонструє приклад словника, який зберігає кількість різних фруктів:

Створення словника
Можна оголосити словник за допомогою наступного синтаксису:
IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();
Тут keyDataType
позначає тип даних ключа, а valueDataType
— тип даних значень. dictionaryName
— це назва словника.
Також можлива неявна декларація:
var dictionaryName = new Dictionary<keyDataType, valueDataType>();
Додавання даних
Для додавання елементів до словника використовується метод Add
:
dictionaryName.Add(keyName, value);
Доступ до даних
Доступ до даних у словниках здійснюється за допомогою ключів:
dictionaryName[keyName]
Наведено приклад, який демонструє всі три випадки:
index.cs
12345678910111213141516171819202122using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Кожен ключ у словнику має бути унікальним. Якщо спробувати додати ключ, який вже існує, компілятор видасть помилку.
У словниках атрибут Count
відображає кількість пар ключ-значення, що зберігаються в ньому. Метод Remove
приймає ключ і видаляє відповідну пару ключ-значення зі словника. Метод Clear
просто видаляє всі пари ключ-значення зі словника. Корисною вправою для читання коду буде ознайомлення з використанням Count
, Remove
та Clear
у наступному коді:
index.cs
1234567891011121314151617181920212223242526using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }
1. Який модуль потрібно імпортувати для використання словників?
2. Який правильний синтаксис для створення словника?
3. Яким буде результат виконання наступного коду?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the difference between arrays and dictionaries in more detail?
Can you show an example of creating and using a dictionary?
What are some common use cases for dictionaries?
Awesome!
Completion rate improved to 2.04
Що Таке Словники?
Свайпніть щоб показати меню
У масивах доступ до даних здійснюється через індексацію (arrayName[index]
). У масиві кожне значення (елемент) має унікальний індекс, який використовується для доступу до цього значення, тому можна сказати, що масив має структуру індекс-значення.
Існує подібна структура, яка називається словником (Dictionary), у якій замість цього використовуються пари ключ-значення. Якщо індекс завжди є цілим числом, то ключ може бути будь-яким базовим типом даних, однак найчастіше використовується string
.
Наступна ілюстрація демонструє приклад словника, який зберігає кількість різних фруктів:

Створення словника
Можна оголосити словник за допомогою наступного синтаксису:
IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();
Тут keyDataType
позначає тип даних ключа, а valueDataType
— тип даних значень. dictionaryName
— це назва словника.
Також можлива неявна декларація:
var dictionaryName = new Dictionary<keyDataType, valueDataType>();
Додавання даних
Для додавання елементів до словника використовується метод Add
:
dictionaryName.Add(keyName, value);
Доступ до даних
Доступ до даних у словниках здійснюється за допомогою ключів:
dictionaryName[keyName]
Наведено приклад, який демонструє всі три випадки:
index.cs
12345678910111213141516171819202122using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Кожен ключ у словнику має бути унікальним. Якщо спробувати додати ключ, який вже існує, компілятор видасть помилку.
У словниках атрибут Count
відображає кількість пар ключ-значення, що зберігаються в ньому. Метод Remove
приймає ключ і видаляє відповідну пару ключ-значення зі словника. Метод Clear
просто видаляє всі пари ключ-значення зі словника. Корисною вправою для читання коду буде ознайомлення з використанням Count
, Remove
та Clear
у наступному коді:
index.cs
1234567891011121314151617181920212223242526using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }
1. Який модуль потрібно імпортувати для використання словників?
2. Який правильний синтаксис для створення словника?
3. Яким буде результат виконання наступного коду?
Дякуємо за ваш відгук!