zappo - Do 25.06.09 15:25
Titel: Array Füllmethoden unterschiedlich hinsichtl. Geltungsbereic
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 - Do 25.06.09 15:55
Du weißt schon, was der Geltungsbereich von Variablen ist?
Mit
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
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...