Autor Beitrag
zappo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Do 25.06.09 15:25 
Hallo Leute,

ich habe hier ein kleines Mysterium vor mir, welches ich nicht enträtseln kann.

Ich lade in einer eingenen Klasse daten aus einer XML Datei, hierzu habe ich 2 public Arrays in der Klasse in welche die Daten geschrieben werden. Das ganze sieht so aus.

Zitat:

public String[] arr_header = new String[30];
public String[] arr_data = new String[5];


Bis hierher kein Problem. Folgend fülle ich diese Arrays natürlich mit Daten, und hier fängt es an spannend zu werden.
Es geht hier um den Array arr_data. Mit dieser Füllmethode,

Zitat:


//String[] arr_data = {PmaxDC,mpphigh,mpplow,UemaxDC,IemaxDC};



ist der Inhalt des Arrays von ausserhalb der Klasse über Objektinstanz.arr_data[x] nicht zu erreichen, das Array ist offenkundig leer.

So gefüllt,
Zitat:

arr_data[0] = PmaxDC;
arr_data[1] = mpphigh;
.
.
.


ist es gefüllt....

woran liegt das?? Stehe auf dem Schlauch....

Habt ihr Ideen? Danke schon einmal.

Gruß
Sebastian
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 25.06.09 15:55 
Du weißt schon, was der Geltungsbereich von Variablen ist?

Mit
ausblenden C#-Quelltext
1:
2:
3:
4:
void Fill()
{
  String[] arr_data = {PmaxDC,mpphigh,mpplow,UemaxDC,IemaxDC};
}

erzeugst du innerhalb einer Methode eine neue Variable gleichen Namens.

Richtig ist
ausblenden C#-Quelltext
1:
2:
3:
4:
void Fill()
{
  arr_data = new string[] {PmaxDC,mpphigh,mpplow,UemaxDC,IemaxDC};
}


P.S: Du solltest dennoch besser dynamische Arrays z.B. List<string> verwenden, sonst kann es leicht zu Index-Überläufen kommen...