То, что я пытаюсь сделать, это иметь массив ссылок на переменные. Под этим я подразумеваю эквивалент массива C указателей на целые числа (например).
Пример: (!!не настоящий код!!)
int a = 4;
int b = 5;
int c = 6;
List<ref int> tmp = new List<ref int>();
tmp.Add(ref a);
tmp.Add(ref b);
tmp.Add(ref c);
tmp[0] = 16;
tmp[1] = 3;
tmp[2] = 1000;
Console.Writeline(tmp[0] + " " + a); // 16 16
Console.Writeline(tmp[1] + " " + b); // 3 3
Console.Writeline(tmp[2] + " " + c); // 1000 1000
Специфика моего случая: у меня есть список строк, которые будут соответствовать ключам в словаре. Я думаю, что хочу иметь список кортежей, где Type1 — это ссылка либо на int, либо на строку, а Type2 — это ссылка на текстовое поле.
Я буду перебирать этот список, используя строку для получения значения из словаря (и делая что-то с этими данными), а затем сохраняя результаты этого в Type1. И в конечном итоге я буду брать данные из этих ссылок на переменные Type1 и копировать их данные в соответствующее текстовое поле Type2.
Это суть того, что я думаю, что я хочу сделать. Если кто-то считает, что мой подход слишком сложен, я скажу, что мне нужно сохранить текстовые поля такими, какие они есть, к сожалению, поэтому я не могу просто создать массив и перебирать его. И было бы желательно также хранить переменные Type1 отдельно, хотя это и не так необходимо.
Теперь, прочитав все вокруг, я подумал, что Func‹> выглядит так, как будто это самое полезное для того, что я хочу, поэтому я попытался использовать следующее (с Type1 как объект, потому что он должен обрабатывать как целые числа, так и строки)
List<Tuple<string, Func<object>, Func<object>>>
но я не знал, как использовать это для получения ссылок на переменные.