Autor Beitrag
carsten00
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Mi 19.05.10 00:30 
Hallo,
habe mir eine Methode geschrieben, welche eine Datei einlesen soll. Bei der Umsetzung habe ich leider ein kleines Problem. Meine Methode soll 2 Parameter haben. Der erste Parameter soll der Pfad der Datei sein und der zweite darin, wo das Eingelesende gespeichert werden soll.
Das eingelesene soll optional z.b. in einer Textbox oder Listbox ausgegeben werden.
das ist bis jetzt mein Ergebnis. Wie zu erkennen ist weiß ich nicht wie ich das ausgeben soll, was ich eingelesen habe.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
        public string DateiInString(string sPfad, hier parameter wo das eingelesene gespeichert werden soll)
        {
            System.IO.StreamReader lesen = new System.IO.StreamReader(sPfad);
            //this.Anschaubox.Text = lesen.ReadToEnd();
            ........... = lesen.ReadToEnd();
            lesen.Close();
        }
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 19.05.10 00:42 
Hallo!

Da solltest Du Dich erst einmal entscheiden, welchen Weg Du gehen willst. Du hast ja jetzt eine Methode mit dem Rückgabetypen String, willst den Rückgabewert aber in einem der Parameter zurückgeben. Das passt nicht zusammen, da musst Du Dich entscheiden.

Meiner Meinung nach ist es besser, nicht über das "füllen" eines Parameters zu gehen, sondern wirklich den Rückgabewert der Methode zu gehen.

Da könntest Du dann so vorgehen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
        public string DateiInString(string sPfad, hier parameter wo das eingelesene gespeichert werden soll)
        {
            System.IO.StreamReader lesen = new System.IO.StreamReader(sPfad);
            //this.Anschaubox.Text = lesen.ReadToEnd();
            var result = lesen.ReadToEnd();
            lesen.Close();
            return result;
        }


Du solltest Dir in Bezug auf das Erstellen und Schließen des StreamReaders aber auch nochmal die using-Klauselangucken.

Das Schreiben des Wertes in eine Element der grafischen Oberfläche hat in der Methode absolut nichts verloren. Das sollte an anderer Stelle passieren, wo Du dann einfach den Rückgabewert der Methode benutzt.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".