Nach dem Lesen einer Textdatei übergebe ich die Informationen durch eine Methode, die die Zeichenfolge aufteilt, um die erforderlichen Informationen für jedes Feld zu erhalten. Ich bin an den Punkt gekommen, an dem ich die Zeichenkette basierend auf neuen Zeilen auftrenne, aber es ist mir unbegreiflich, warum, wenn ich das nachfolgende Array (oder die Liste, in die es konvertiert wurde) anzeigt, nur die erste Hälfte der ersten Split-Zeichenkette zeigt.Wenn ich String.Split verwendet, enthält das nachfolgende Array nur den ersten Wert?
Ein Beispiel, wie die Eingabezeichenfolge aussieht:
ASSIGNMENT
In-Class Test 02/07/2014
In-Class Test 21/04/2013
meinen Code unten finden (die numLines
Variable war einfach zu sehen, ob es in die richtige Anzahl von Zeilen aufgeteilt wurde, wie es sollte)
private void assignmentfinder(string brief, string id)
{
string searchcrit = "ASSIGNMENT";
string assignment = brief.Substring(brief.IndexOf(searchcrit) + searchcrit.Length);
string[] assignmentsplit;
assignmentsplit = assignment.Split('\t');
List<string> Assign = new List<string>(assignmentsplit);
listBox2.DataSource = Assign;
int numLines = assignment.Split('\n').Length;
richTextBox1.Lines=(assignmentsplit);
}
der Ausgang ich erhalte, ist:
In-Class Test
02/07/2014
Während es die zeigen sollte zweite Saite wird ebenfalls geteilt. Irgendwelche Ideen?
Die einzige Idee hier ist, Ihren Code Schritt für Schritt zu debuggen. – duDE
Versuchen Sie, den Parameter "assignSplit" aus dem Konstruktor List zu entfernen. Meine Vermutung ist, dass Sie die Liste auf eine geringere Anzahl von Elementen einschränken als erwartet. –
Was ist die gewünschte Ausgabe? Es ist mir unklar, was Sie genau machen wollen. – Crowcoder