Изучаем работу индексаторов
Индексаторы в C# позволяют обращаться к данным объекта, как если бы это были элементы массива.
Представим, что у нас есть класс
Индексатор позволит нам добавлять и получать контакты по имени. Например, если мы хотим установить номер телефона для Алисы, можно использовать индексатор, как для массива:
Теперь, чтобы использовать этот класс, создадим объект contactList и добавим несколько контактов с помощью индексатора. Например, добавим контакт для Алисы, указав ее номер телефона:
Чтобы получить номер телефона Алисы, можно просто использовать индексатор, указав имя контакта:
🔥 Таким образом, индексаторы позволяют нам обращаться к данным внутри объекта, как к элементам массива, обеспечивая компактность и удобство работы с коллекциями данных в C#
➡️ C# Ready | #практика
Индексаторы в C# позволяют обращаться к данным объекта, как если бы это были элементы массива.
Представим, что у нас есть класс
ContactList
, который хранит контакты в виде словаря. Индексатор позволит нам добавлять и получать контакты по имени. Например, если мы хотим установить номер телефона для Алисы, можно использовать индексатор, как для массива:
public class ContactList
{
private Dictionary<string, string> contacts = new Dictionary<string, string>();
// Индексатор для доступа к контактам
public string this[string name]
{
get => contacts.ContainsKey(name) ? contacts[name] : "Контакт не найден";
set => contacts[name] = value;
}
}
Теперь, чтобы использовать этот класс, создадим объект contactList и добавим несколько контактов с помощью индексатора. Например, добавим контакт для Алисы, указав ее номер телефона:
ContactList contactList = new ContactList();
contactList["Алиса"] = "+123456789"; // Устанавливаем контакт для Алисы
Чтобы получить номер телефона Алисы, можно просто использовать индексатор, указав имя контакта:
Console.WriteLine(contactList["Алиса"]); // Получаем номер Алисы
🔥 Таким образом, индексаторы позволяют нам обращаться к данным внутри объекта, как к элементам массива, обеспечивая компактность и удобство работы с коллекциями данных в C#