2009-07-18 9 views

Antwort

4

Ihr erstes Beispiel würde in keiner Sprache funktionieren, da Sie versuchen, die Variable "i" neu zu definieren. Es ist ein int in der Schleifensteuerung, aber ein string im Körper der Schleife.

Basierend auf Ihre Frage aktualisiert die einfachste Lösung ist ein Array (in C#) zu verwenden:

string[] s = new string[10]; 
for (int i; i< 10; i++) 
{ 
    s[i] = "abc"; 
} 
0

Verwenden irgendeine Art von eval, wenn es in der Sprache zur Verfügung steht.

0

Dies hängt von der Sprache ab.

Wenn Menschen dies möchten, ist es normalerweise richtig, eine Datenstruktur wie Hashtabelle/Dictionary/Map zu verwenden, die Schlüsselnamen und zugehörige Werte speichert.

3

Offensichtlich hängt dies stark von der Sprache ab. In den meisten Sprachen ist es unmöglich. In Javascript, in einem Browser die folgenden Werke:

for (var i = 0; i<10 ; i++) { window["sq"+i] = i * i; } 

Nun ist die Variable sq3 zum Beispiel wird auf 9.

+0

@Malvolio: +1 Gute Antwort –

11

Sie wahrscheinlich ein Array verwenden möchten. Ich weiß nicht genau, wie sie in C# arbeiten (Ich bin ein Java-Mann), aber so etwas wie dies sollte es tun:

string[] s = new string[10]; 
for (int i; i< 10; i++) 
{ 
    s[i] = "abc"; 
} 

Und http://msdn.microsoft.com/en-us/library/aa288453(VS.71).aspx

+3

+1 Nur um herauszufinden, was zur Hölle die OP hat darüber gesprochen. –

3

Sie lesen Wörterbuch verwenden. Key - dynamische Name des Objekts Value - Objekt

 Dictionary<String, Object> dictionary = new Dictionary<String, Object>(); 
     for (int i = 0; i <= 10; i++) 
     { 
      //create name 
      string name = String.Format("s{0}", i); 
      //check name 
      if (dictionary.ContainsKey(name)) 
      { 
       dictionary[name] = i.ToString(); 
      } 
      else 
      { 
       dictionary.Add(name, i.ToString()); 
      } 
     } 
     //Simple test 
     foreach (KeyValuePair<String, Object> kvp in dictionary) 
     { 
      Console.WriteLine(String.Format("Key: {0} - Value: {1}", kvp.Key, kvp.Value)); 
     } 

Ausgang:

Key: s0 - Value: 0 
Key: s1 - Value: 1 
Key: s2 - Value: 2 
Key: s3 - Value: 3 
Key: s4 - Value: 4 
Key: s5 - Value: 5 
Key: s6 - Value: 6 
Key: s7 - Value: 7 
Key: s8 - Value: 8 
Key: s9 - Value: 9 
Key: s10 - Value: 10 
Verwandte Themen