Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/41: Рейтинг темы: голосов - 41, средняя оценка - 4.90
vvaalleekk
12 / 14 / 1
Регистрация: 03.10.2011
Сообщений: 201
1

В переменной типа string хранится имя переменной, к которой нужно обратиться. Как это сделать?

10.07.2012, 15:33. Просмотров 8184. Ответов 4
Метки нет (Все метки)

Пример:

C#
1
2
3
4
int speed = 10;
string s = "speed";
 
MessageBox.Show(/*как-то обратиться к переменной, чье имя содержится в переменной "s"*/.ToString());
MessageBox должен вывести "10".

Помогите, пожалуйста
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2012, 15:33
Ответы с готовыми решениями:

Возможно ли вызвать функцию, имя которой хранится в переменной типа char* ?
Или возможно ли создать указатель на функцию по имени в переменной. Извиняюсь за неконкретный...

Как вызвать функцию, имя которой указано в переменной типа String?
гугл не помог(

Как обратиться к form-е , имя которой находится в переменной
Как обратиться к form-е , имя которой находится в переменной .(например сделать ее Show)

Как обратиться к форме, имя которой есть значение переменной?
Здравствуйте, подскажите пожалуйста : есть код STANOK1 = “16К20” DoCmd.OpenForm (STANOK1) ...

4
turbanoff
Эксперт Java
4055 / 3790 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
10.07.2012, 15:36 2
Это невозможно - имена переменных не существуют во время выполнения.
Если вам действительно это необходимо, как вариант можно использовать словарь Dictionary<sting, int>, в котором хранить все переменные.
1
SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
10.07.2012, 23:44 3
Цитата Сообщение от turbanoff Посмотреть сообщение
Это невозможно - имена переменных не существуют во время выполнения.
только для временных переменных
в общем-то возможно только такая переменная должна быть полем либо свойством некоторого объекта. Для этих целей используется рефлексия (Reflection)
пример небольшой:
это класс в котором объявлены разные переменные
C#
1
2
3
4
5
class Store
{
    public int test = 10;
        //.........
}
это как использовать
C#
1
2
3
4
// создаем  экземпляр
var instance = new Store();
// получаем значение
var test = typeof(Store).InvokeMember("test", BindingFlags.GetField, null, instance, null);
0
Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
10.07.2012, 23:54 4
Цитата Сообщение от turbanoff Посмотреть сообщение
Это невозможно - имена переменных не существуют во время выполнения.
Если вам действительно это необходимо, как вариант можно использовать словарь Dictionary<sting, int>, в котором хранить все переменные.
Вы вероятно не правы. Для этой вещи можно использовать Reflection. Получаешь информацию о классе в котором хранится переменная и по имени переменной вызываешь значение. Хотя это извращение, и я не уверен что получится. Использование словарей тут подходит больше.
0
s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
11.07.2012, 15:37 5
тут есть пример
0
11.07.2012, 15:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2012, 15:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

SetFocus на поле имя которой хранится в переменной
Есть переменная в vba Pole которая содержит имя поля для перехода (Поле1 или Поле2 … ПолеN). Как...

Обратиться к константе, имя которой в переменной
Здравствуйте. Возникла ситуация, когда необходимо обратиться к константе класса, имя которой...

Достать из ресурсов картинку, имя которой хранится в переменной (Visual Studio 2010)
На форме есть pictureBox. В него загружается одна из картинок, которые были добавлены в ресурсы...

Не получается сделать тест, где ответ хранится в переменной string
Сравнивает только с первой строкой( #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.