Превращение строки в ссылку на объект - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, вопрос может простой,а может это и не возможно.. Искал, но ничего особо не нашел по этому поводу, вероятно не понимаю как сформулировать вопрос. Суть:
    class Program
    {
        static void Main(string[] args)
        {                     
            text text1 = new text(); //создаем экземпляры
            text text2 = new text();
            text text3 = new text();
            text text4 = new text();
            text text5 = new text();
 
            string str = "text3";
            Console.WriteLine(text1.val); //обращаемся к полям экземпляров
            Console.WriteLine(str.val); //Я понимаю, что эта запись - бред, но как то можно использовать строку как имя экземпляра?
        }
    }
    
    class text
    {
        public string val = "TEST";
    }
Думаю из примера понятно, что я хочу. То есть например получить строку, а потом как то использовать её как ссылку на экземпляр.. То есть в итоге, например, запускать цикл, брать счетчик из цикла, его значение склеивать со строкой, например my_obj = "text" + i.ToString() , а потом как то обращаться к полю (value) экземпляра, типа my_obj.value = "..." Заранее извиняюсь, за такое сумбурное содержания вопроса, но надеюсь он понятен. И Благодарю за ответ)

Решение задачи: «Превращение строки в ссылку на объект»

textual
Листинг программы
Dictionary<string, text> texts = new Dictionary<string, text>();
texts["text1"] = new text();
texts["text2"] = new text();
texts["text3"] = new text();
texts["text4"] = new text();
texts["text5"] = new text();
 
string str = "text3";
Console.WriteLine(texts[str].val);

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


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

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

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