Problem mit String Splitten

kanada

Mitglied
Ich hab hier ein kleines Verständnis Problem beim Splitten eines Strings, ich hab es wie folgt in mein Projekt integriert:

string name = Path.GetFileNameWithoutExtension(fi.Name);
string[] nameString = name.Split('_');
newRow["Dateiname"] = nameString[1];

Und bekomme dort ein IndexOutOfRangeException da der Wert [1] Außerhalb des Bereiches wäre.

Ersetze ich den String spaßen halber durch Bla_Blub:

string name = "Bla_Blub;
string[] nameString = name.Split('_');
newRow["Dateiname"] = nameString[1];

Wird mir ohne sich quer zustellen "Blub" ausgegeben. Die Ermittelten Dateien haben alle das Format z.B. 2014.12.01_Datei.txt
 
Bist du sicher, dass "fi.Name" genau deinem Format entspricht? Kann es vielleicht sein, dass du über alle Dateien innerhalb eines Ordner iterierst und deshalb zuerst "." und ".." erhälst?
 
noch als tipp setzte einen Breakpoint in deinem Quellcode (standardmäßig shortcut F9, im VisualStudio) an der zeile wo du den namen splitten willst.

beim debuggen sollte das programm dann beim breakpoint pausieren und du kannst dir den wert von fi.Name anzeigen lassen
(mit der Maus drüber als tooltip, im immediate window oder rechte maus über quick watch)
 
Danke ihr beiden, vorallem Spyke. Das mit F9 und ToolTip hat mir geholfen. In dem Ordner war noch eine versteckte Datei die dem Schema nicht entsprach und daher den Fehler brachte.
 
Zurück