У меня есть строка myString, которая может содержать переменное число пар, разделенных запятыми, например: «a = 1, b = 2, c = 3» или «c = 5, b = 4 "или" t = 12 ". У меня также есть целочисленные переменные с именем a, b, c, ..., z, все установлены в 0. Я хочу проанализировать myString и присвоить значения из строки каждой переменной. Я могу только сделать неэффективный способ сделать это, используя switch и case (т. Е. Если myString содержит «a», извлеките значение «a» и назначьте его переменной с именем «a»). Любые идеи о том, как написать лучший код для этой операции?Назначение значений для нескольких переменных
void Test(string myString)
{
int a, b, c, d;
a = b = c = d = 0;
string[] varNames = {"a", "b", "c", "d"};
for(int i = 0; i < varNames.Length; i++)
{
if(myString.IndexOf(varNames[i]) >= 0)
{
VariableWhoseNameIs(varNames[i]) = 3;
}
}
}
Спасибо, я забыл об этом. Я только что добавил. –
Итак, если ваша строка содержит «x = 14», например, вы хотите назначить 14 вашей переменной x? – Martheen
Нужно ли иметь отдельные переменные? Похоже, что имеет смысл хранить результаты в словаре «», поскольку они являются парами ключевых значений. –
mason