Hallo,
ich verwende eine Funktion, die einmal fuer sich angewendet, problemlos laeuft.
Wenn diese jedoch vielfach hintereinander aufgerufen wird, laeuft der
RAM-Speicher voll. Ich bin nicht sicher, ob es wirklich an dieser Funktion liegt,
zumindest habe ich sie aber im Verdacht.
Gibt es an dieser irgendwas (Handle, Variable), das nach Verwenden der Funktion ausser der uebergebenen Variablen im Speicher verbleibt? Grundsaetzlich nahm ich bis dato an, dass nach Funktionsgebrauch alle funktionsinternen Variablen automatisch
aus dem Speicher geloescht werden, die nicht an die aufrufende Prozedur uebergeben wurden.
Hier ist die besagte Funktion:
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: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41:
| public string[,] tabelle(string pfad, string trennzeichen) { string[,] table={{"",""},{"",""}}; try { string[] fileContent = File.ReadAllLines(pfad); int linecount=fileContent.GetLength(0); string[] datensatz=Regex.Split(fileContent[0], trennzeichen); int rowcount=0; foreach (string wort in datensatz) {rowcount++;} table = new string[linecount,rowcount]; string zeile; for (int i = 0; i < linecount; i++) { zeile=fileContent[i]; datensatz=Regex.Split(zeile, trennzeichen); int j =0; foreach (string wort in datensatz) { table[i,j]=datensatz[j]; j=j+1; } } } catch (System.Exception excep) { MessageBox.Show(excep.Message); } return table; } |
Besten Dank schon im Vorraus fuer Eure Hilfe!
Moderiert von
Th69: C#-Tags hinzugefügt