То, что я пытаюсь сделать, это иметь массив ссылок на переменные. Под этим я подразумеваю эквивалент C массива указателей на ints (например).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
Специфика моего случая: У меня есть список строк, которые будут соответствовать ключей в словаре. Я думаю, что я хочу иметь список Tuples, где Type1 является ссылкой на int или string, а Type2 - ссылкой на текстовое поле.
Я буду повторять этот список, используя строку, чтобы получить значение из словаря (и делать материал с этими данными), а затем сохранить результаты этого в Type1. И в итоге я возьму данные из этих переменных типа Type1 и скопирую их данные в соответствующий текстовый ящик Type2.
Это суть того, что я думаю, что я хочу сделать. Если кто-то думает, что мой подход слишком сложный, я скажу, что мне нужно сохранять текстовые поля, как это печально, поэтому я не могу просто создать массив и прокрутить его. И было бы удобно хранить переменные Type1 отдельно, хотя и не совсем так необходимо.
Теперь, начиная с чтения, я думал, что Func <> выглядел так, будто это было самым близким к тому, чтобы быть полезным для того, что я хочу, поэтому я попытался использовать следующее (с Type1, как объект, потому что ему нужно обрабатывать как ints и строки)
List<Tuple<string, Func<object>, Func<object>>>
но я не знал, как использовать это, чтобы получить ссылки на переменные.
«If кто-то думает, что мой подход слишком сложный, я скажу, что мне нужно сохранять текстовые поля, как они грустно, поэтому я не могу просто создать массив и прокрутить его ». - Что это значит? –
вы можете использовать указатели в этом случае, используйте небезопасное ключевое слово для метода и задайте небезопасный проект, чтобы разрешить указатели в C#, также вы можете инкапсулировать значение в классе, а в C# каждый класс имеет ссылочный тип – ahmedsafan86
@Ahmedsafan: Пока я не согласен с целесообразность того, что вы предлагаете, это должен быть ответ, а не комментарий. –