Ich habe eine Zeichenfolge myString, die eine variable Anzahl von durch Kommas getrennten Paaren enthalten kann, wie: "a = 1, b = 2, c = 3" oder "c = 5, b = 4 "oder" t = 12 ". Ich habe auch eine Menge ganzzahliger Variablen, benannt a, b, c, ..., z, alle auf 0 gesetzt. Ich möchte myString analysieren und die Werte aus der Zeichenfolge zu jeder Variable zuweisen. Ich kann nur eine ineffiziente Möglichkeit, dies zu tun, mit switch und case (d. H. Wenn myString enthält 'a', extrahieren Wert von 'a' und zuweisen, um die Variable mit dem Namen 'a'). Irgendwelche Ideen, wie man besseren Code für diese Operation schreibt?Zuweisen von Werten zu mehreren Variablen
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;
}
}
}
Danke, das habe ich vergessen. Ich habe es einfach hinzugefügt. –
Wenn also Ihre Zeichenkette beispielsweise "x = 14" enthält, möchten Sie Ihrer x-Variablen 14 zuweisen? – Martheen
Müssen Variablen separat benannt werden? Es scheint, als wäre es sinnvoller, die Ergebnisse in einem 'Dictionary' zu speichern, da es sich um Schlüsselwertpaare handelt. –
mason