Autor Beitrag
maxt
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 26.11.11 17:29 
Hallo erstmal! :)

Bin ein blutiger C# Anfänger, also seid nicht zu streng! :P
Ich will ein Array in einer Klasse erstellen. Das funktioniert auch. Nun will ich aber dass ich die Länge des Arrays im Hauptprogramm festlege. Also den Arrayindex vom Hauptprogramm in die Klasse übergeben. Steh gerade irgendwie auf der Leitung :oops:
Muss ich das mittels Konstruktor machen?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
static void Main(string[] args)
{   int anzahl;
    anzahl = ...;
    schüler liste = new schüler();
}

class schüler
{
    int anzahl;
    public string[] name = new string[anzahl];
}


"Ein Feldinitialisierer kann nicht auf das nicht statische Feld bzw. die nicht statische Methode oder Eigenschaft "Adressliste1.schüler.anzahl" verweisen."

Vielen Dank!

maxt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 27.11.11 10:16 
Hallo maxt :welcome:

ja, per Konstruktor wäre es die beste Lösung.
Du mußt dann auch im Konstruktor erst das Array initialisieren (d.h. den Speicher mit 'new' anlegen).

Ich gebe dir ersteinmal keinen Code dafür, probiere es mal selber und wenn du wirklich nicht weiterkommst, kannst du ja mal deinen Versuch hier zeigen.
maxt Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 27.11.11 11:05 
Vielen Dank, hat bestens funktioniert!

Mfg, maxt