Entwickler-Ecke
Basistechnologien - aus anderer Methode auf Array zugreifen
Peter1000 - Di 16.12.14 16:50
Titel: aus anderer Methode auf Array zugreifen
Hallo,
ich lese in Methode einer Klasse aus einer Datei Daten in ein Array ein.
Die Größe dieses Arrays wird in Abhängigkeit der Dateilänge erzeugt.
Wie kann ich aus anderen Methoden heraus auf dieses Array zugreifen?
Thx
Peter
C# - Di 16.12.14 17:20
Hallo,
Also entweder du definierst dein array als Klassen- bzw. Ovbjektvariable oder du übergibst es jeder Methode als Parameter. Das funktioniert, weil Arrays immer Referenztypen sind.
Peter1000 - Di 16.12.14 17:32
C# hat folgendes geschrieben : |
Hallo,
Also entweder du definierst dein array als Klassen- bzw. Ovbjektvariable oder du übergibst es jeder Methode als Parameter. Das funktioniert, weil Arrays immer Referenztypen sind. |
Es ist so, bei klick auf den Button1 wird die Datei gelesen und die Daten in ein Array eingetragen.
Bei Klick auf Button2 sollen bestimmte Einträge in diesem Array angezeigt werden.
Wie soll ich das Array da als z.b. Referenz übergeben?
freak4fun - Di 16.12.14 17:38
Du hast das Array in deiner Klasse gespeichert. Du gibst deiner Klasse also eine Methode die das Array wieder rausrückt.
Peter1000 - Di 16.12.14 17:48
freak4fun hat folgendes geschrieben : |
Du hast das Array in deiner Klasse gespeichert. Du gibst deiner Klasse also eine Methode die das Array wieder rausrückt. |
Wie meinst du das genau?
Das Array wird in einer Methode der Klasse erzeugt.
Wie kann dann eine andere Methode der selben Klasse auf das Array der anderen Methode zugreifen??
Peter1000 - Di 16.12.14 17:54
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| public void datei_lesen() { FileStream filehandle = new FileStream(pfadUndDatei, FileMode.Open, FileAccess.ReadWrite, 0); BinaryReader binReaderDatei = new BinaryReader(filehandle);
int dateiGroesse = (int)filehandle.Length; byte[] array = new byte[dateiGroesse]; }
public void zugriff_auf_array() {
} |
Moderiert von
Th69: C#-Tags hinzugefügt
freak4fun - Di 16.12.14 17:58
C#-Quelltext
1: 2: 3: 4: 5: 6:
| class DeineKlasse { public byte[] array; ... public void datei_schreiben(){ this.array ... } public void datei_lesen(){} } |
C# - Di 16.12.14 22:28
Zitat: |
Wie soll ich das Array da als z.b. Referenz übergeben? |
Ein Array (egal welcher Typ) ist immer ein Referenztyp. D.h. wenn du ein Array als
Parameter Argument übergibst, ist es immer das gleiche Array und keine Kopie!
Wenn du das Array als Objektvariable anlegst kannst du das so machen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| class MyClass { private byte[] array;
public MyClass() {
}
private void ReadFile(string file) { array = File.ReadAllBytes(file);
}
private void DoSomething() { array[20] = 244;
} } |
Oder halt lokal:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| class MyClass { public MyClass() { byte[] array = ReadFile("C:\\Datei.txt");
DoSomething(array);
array[2] = 21; }
private byte[] ReadFile(string file) { return File.ReadAllBytes(file);
}
private void DoSomething(byte[] array) { array[20] = 244;
} } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!