Mehrere Buttons in ein Array zusammenfassen?!

rauch_c

Mitglied
Hallo ein Bekannter hat mir gesagt das man unter c++ per zeiger einem Array buttons zuordnen konnte , und die Arrays dann mit s.B.:
Code:
ArrayName[i].Text="TEST";

ansprechen konnte, unter c# gibt es ja keine Zeiger mehr jetz wollte ich wissen ob es dazu eine alternativlösung gibt?!

mfg Rauch
 
Ich kenne mich zwar mit C++ und seinen Zeigern nicht aus aber in C# (in .NET) gibt es 2 verschiedene Variablentypen:

Werttypen und Referenztypen.

Die Werttypen (z.B. Zahlen) enthalten immer ihren Wert.
Die Referenztypen (Alle anderen Objekte) enthalten nur einen Verweis auf das Objekt im Speicher.

Du erstellst deine Buttons ganz normal. Dann definierst du ein Buttonarray, das du dann irgendwie mit deinen Buttons füllst. In der Array befinden sich, wie auch in der Formularklasse, nur Verweise auf den selben Button.

Ob du den selben Button also vom Formular aus oder aus der Array aus ansprichst, spielt keine Rolle, da die Variablen auf das selbe Objekt zeigen.

Eine Kopie eines Objekts kannst du nur über die geschützte Methode memberwiseClone() der Object-Klasse erstellen, wobei es sich dabei nur um eine flache Kopie handelt, d.h. Das Objekt und die darin enthaltenen Werttypen wurden kopiert. Die Referenztypen des Objekts zeigen immer noch auf eine gemeinsame Adresse im Speicher.
 
ja jetzt müsste ich nurmehr wissen wie ich solche referenzen setze
  1. Wie erstelle ich ein Button Array
  2. wie weiße ich einem Button Array die Buttons zu


mfg rauch
 
Ganz gleich wie jedes andere Array.

Code:
System.Windows.Forms.Button[] myarray = new System.Windows.Forms.Button[10];
myarray[0] = this.cmdPlayVideo;

Wobei cmdPlayVideo in diesen Fall ein Button ist.
 
Ich muss leider zugeben, dass ich in der C#-Syntax nicht so bewandert bin.

Du weisst wie man ein Array erstellt oder?
Code:
'In VB
Dim buttons as button() = {Me.Button1, Me.Button2, Me.Button3}

//In C# vielleicht so?:
Button[] buttons
buttons = new Button[] {this.Button1, this.Button2, this.Button3}
Wie gesagt, habe keine Ahnung von C#. Ich denke, Arrays definiert man ähnlich wie in VB.NET.

Weisst du, was ich damit meine?
 

Neue Beiträge

Zurück