Обращение к элементу массива через имя, а не индекс - 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["Александр"]);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы