Variable variablen?



  • Hi

    mich würde es interessieren, ob es in c# variable Variablen im bezug auf dem Namen gibt?

    Ich stelle es mir wie folgt vor:

    man hat mehrere Buttons und jeder Button wird in einer bestimmten Funktion verändert.

    button1.backcolor = color.red;
    button2.backcolor = color.red;
    button3.backcolor = color.red;
    

    usw usf

    nun koennte man ja eine Funktion schreiben, in der man das Button1,2,3 per Variable bestimmt. Sprich man uebergibt dann an dieseFunktion eine Variable mit inhalt button1, button2, button3 und dadurch kann man sich dann schreibarbeit(copy und paste) sparen.

    Gut in meinem beispiel würde es nichts sparen, aber es sollte nur zur veranschaulichung dienen

    Geht so etwas?

    Danke schonmal,
    MFG

    Sascha



  • Variable Variablen gibts in .Net nicht und das ist gut so!

    Dein Beispiel könnte man so schreiben:

    foreach(Control c in this.Controls) {
      if( c is Button) {
        (c as Button).BackColor = Color.Red;
      }
    }
    

    Aber weil du was änderst innerhalb der Schleife wäre ne for Schleife eigentlich besser.



  • Ok danke dir ich werde mich mal mit dem Code von dir morgen beschäftigen. Dennoch danke.



  • Mir fällt grad ein, dass deine Lösung doch nicht die wahre ist, da meine Buttons unterschiedliche Farben zugewiesen bekommen.

    Hab ich oben leider vergessen zu erwähnen. Naja ich werde heute weng dran rumexperementieren.

    MFG



  • Ist doch auch kein Problem.

    (c as Button)
    

    Hier bekommst du doch dein Button Objekt und kannst prüfen welches das ist und je nachdem halt die entsprechende Farbe zuweisen, klar wirds nen bissle mehr schreibarbeit, aber im Prinzip ists auch nichts anderes.


Anmelden zum Antworten