Ich habe ein Programm, das Textdateien lädt, um zwei separate Listenfelder im Formular zu füllen. Es soll jede Zeile lesen und jede Zeile zu einer einzelnen Listbox hinzufügen. Die erste Zeile der Textdatei wird aus irgendeinem Grund ignoriert, und ich bin mir nicht sicher warum.While-Schleife erkennt keine erste Zeile der Textdatei
Dies ist, was jede Zeile der Textdatei ist:
- cd Rüstung 1 Echte +
- bg Tool 2 Falsch +
- o Weapon 3 FALSE-
- xz Verbrauchs 1 True-
Ich glaube, meine While-Schleife ist das Problem, aber ich bin mir nicht sicher, was ich damit falsch mache. Ich brauche das Programm, um mehr als eine Zeile zu durchlaufen. Wenn ich den Code ausgeführt habe, ohne eine Schleife zu verwenden, wurde die erste Zeile der Textdatei ohne Probleme in das entsprechende Listenfeld eingefügt.
Der folgende Code ist an die Lade-Schaltfläche in meinem Formular angehängt.
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog openTextFile = new OpenFileDialog();
openTextFile.Filter = "Text Files (*.txt) | *.txt";
string listItemString;
string[] listItem;
if (openTextFile.ShowDialog() == DialogResult.OK)
{
using (StreamReader openStream = new StreamReader(openTextFile.OpenFile()))
{
listItemString = openStream.ReadLine();
listItem = listItemString.Split(' ');
while ((listItemString = openStream.ReadLine()) != null)
{
if (listItemString.EndsWith("+"))
{
listItemString = listItemString.Replace("+", "");
cart.Items.Add(listItemString);
}
else if (listItemString.EndsWith("-"))
{
listItemString = listItemString.Replace("-", "");
delivery.Items.Add(listItemString);
}
}
}
}
}