foreach | jede zeile in eigenen neuen string

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Plexian.

    foreach | jede zeile in eigenen neuen string

    Hallo Leute,

    so weit bin ich bisher:

    Ich lasse aus einer Text Datei alles auslesen und alles ausgelesene wird Zeile für Zeile in einem string[] gespeichert.

    dabei komme ich nicht weiter:

    ich möchte dass nun die einzelnen teile die ich in dem string[] gespeichert habe in jeweils einen einzelnen string übergeben.

    Ich weiß nicht ob das die beste Methode ist...
    Was ich erreichen möchte ist, dass der ganze Text eingelesen wird und ich zugriff auf alle Zeilen habe. Ich weiß nicht in welcher Zeile was stehen wird also muss ich später via 'if'- Abfrage überprüfen welcher string welchen inhalt besitzt.

    z.B. in Zeile 10 Steht in einem Dokument "Hallo" und in Zeile 15 "Welt"
    in einem Anderen Dokument steht in zeile 7 "Hallo" und in Zeile 20 "Welt".

    Ich weiß nicht wie ich das auslesen und oder übergeben lassen soll...
    Es muss aber Zeile für Zeile ausgelesen werden. Und am besten soll man noch feststellen können was in dieser Zeile steht.

    Hier ist das was ich bisher habe.
    Vielleicht hat ja jemand von euch eine Idee.


    C#-Quellcode

    1. using (StreamReader r = new StreamReader(dirr))
    2. {
    3. string lesen = r.ReadToEnd();
    4. string[] stringdiffenercator = new string[] { "\n" };
    5. string[] ausgabe;
    6. ausgabe = lesen.Split(stringdiffenercator, StringSplitOptions.None);
    7. foreach (string s in ausgabe)
    8. {
    9. richTextBox7.AppendText (s);
    10. }
    11. }


    Für alle die sich etwas mit Minecraft auskennen, ich versuche die 'server.properties' so transparent wie möglich einzulesen und dann für anfänger in einem vorgefertigtem Formular ausfüllbar zu machen. Doch kann es sein dass unterschiedliche Versionen genutzt werden in denen nicht alle Inhalte gleich sind, deshalb gibt es auch einen erweiterten Modus der schon fertiggestellt ist.

    DaNeubi schrieb:

    Ich weiß nicht wie ich das auslesen und oder übergeben lassen soll...
    Naja, musst du dir ausdenken, an was du was übergeben willst.

    Bzw. beim Auslesen muss man sich überlegen, wo man etwas hineinlesen will.

    Derzeit liest du die Datei in die lokale Variable ausgabe ein - aber die verfällt ja, sobald der Einlese-Block verlassen wird. Also das ist nicht ganz optimal gelöst.

    Also denk dir etwas anderes aus, was auch noch ausserhalb dieses Blocks bestand hat.
    1. Das Einlesen:
    ​var ausgabe = IO.File.ReadAllLines(path);
    rtb.Lines = ausgabe;

    2. FindIndex

    C#-Quellcode

    1. ​var index = ausgabe.FindIndex(s => s.Contains("Hallo"));
    2. MessageBox.Show(ausgabe[index]);
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais