Обращение к элементу массива через имя, а не индекс - C#
Формулировка задачи:
Народ.
Кто может сказать или дать ссылку на информацию как сделать так, чтобы можно было обращаться к элементу массива не через индекс, а через имя.
При работе со стандартными источниками данных, можно обращаться к полям таблиц таким образом: My_tabDataTable.Rows[i]["Field_1"]; Хочу такое же использовать, но как такое сделать не понимаю.
Решение задачи: «Обращение к элементу массива через имя, а не индекс»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace ConsoleApplication1
- {
- class Program
- {
- public class test_class
- {
- private Dictionary<string, int> tab_key = new Dictionary<string, int>();
- public string[] tab;
- public test_class()
- {
- tab = new string[3];
- tab[0] = "Васильевич";
- tab_key.Add("Вася", 0); //Добавляем запись в словарь
- tab[1] = "Петрович";
- tab_key.Add("Петя", 1);
- tab[2] = "Александрович";
- tab_key.Add("Саша", 2); //Так же можно добавить несколько ключей к одному индексу
- tab_key.Add("Александр", 2);
- }
- public string this[string name] //Метод для вызова
- {
- get
- {
- return tab[tab_key[name]];
- }
- set
- {
- tab[tab_key[name]] = value;
- }
- }
- }
- static void Main(string[] args)
- {
- test_class tab = new test_class();
- Console.WriteLine("Отчество детей в зависимости от имени отца");
- Console.WriteLine("Вася - " + tab["Вася"]); //Tab["Вася"] Вызовет public string this[string name]
- Console.WriteLine("Петя - " + tab["Петя"]);
- Console.WriteLine("Саша - " + tab["Саша"]);
- Console.WriteLine("Александр - " + tab["Александр"]);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д