Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 00:45   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию имя переменной из значения строки

Есть пару переменных
Код:
int a1 = 1;
int a2 = 2;
и есть строка
Код:
string s = "a1";
так вот в переменной s указано имя переменной из которой нужно получить щначение.
как получить его?
например как-нибудь так:
Код:
int result = GetValue(s);
в javascript'e вроде в eval работает.
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 07.11.2011, 08:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

шарп не является интерпритируемым языком.
так можно немного с классами замутить, за счет рефлексии.(имя поля, или имя свойства)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.11.2011, 11:04   #3
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

Если хранить переменные в словаре то ключом может быть что угодно, включая имя

Код:
var dict  = new Dictionary<string, int>(); 
dict.Add("a1", 1);

int a11 = dict["a1"] ;
m0nax вне форума Ответить с цитированием
Старый 07.11.2011, 17:04   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Цитата:
Если хранить переменные в словаре то ключом может быть что угодно, включая имя
В словаре нельзя менять значение, т.е. значение readonly, поэтому придется мучиться с удалением, добавлением, обновлением полей у нужного класса, огромны switch и т.д. Проще завести класс с двумя полями ключ и значение и пихнуть это в List.
C# - ориентирован на работу с объектами, поэтому универсальнее будет сделать сделать класс (набор классов) и "тягать" при помощи рефлексии необходимые поля. Это не сложно и избавляет от многих проблем ( особенно, когда объектов много или количество их постоянно меняется).
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение переменной y в зависимости от значения переменной х Rishi Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 11.05.2011 20:25
Составное имя переменной tae1980 Microsoft Office Excel 1 19.09.2010 20:53
Имя переменной Alex Cones Общие вопросы Delphi 9 09.07.2010 21:04
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06
Вывести имя переменной wall66 PHP 11 13.12.2008 10:48