Nochmal auf dein ursprüngliches Problem zurück, was hältst du davon:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| string filePath = "C:\\Users\\XXXX\\Documents\\Visual Studio 2010\\Projects\\XXXX\\XXXXX\\XXXXX.txt";
foreach (var line in File.ReadAllLines(filePath)) { string[] lineParts = line.Split('<');
if (lineParts.Length == 2) { string transmitterName = lineParts[0]; string transmitterPath = lineParts[1];
} else { } } |
So musst du gar nicht erst groß mit seltsamen Array-Funktionen rum spielen, sondern kannst die Daten direkt verarbeiten.
Zu zweiten Frage:
Die Methode "FirstOrDefault", wie Ralf Jansen schon gezeigt hat, ist die beste mir bekannte Möglichkeit, um irgendeinen Wert anhand irgendwelcher Vergleichs-Daten aus einer Liste zu ziehen.
Oder du verwendest "First", was aber eine Exception wirft, wenn kein Element gefunden wurde. In der Regel bietet sich aber FirstOrDefault und eine nachträgliche Überprüfung an, wie ja schon gezeigt.
Wenn du mehrere Ergebnisse haben möchtest, dann wähle die Methode "Where", die du auf gleiche Weise verwendest, die "First" und "FirstOrDefault".
Allgemein kannst du dir mal die LINQ-Methoden(diese drei Methoden gehören nämlich dazu) anschauen, dann gerade im Umgang mit Auflistungen von Daten findest du da sehr nützliche Methoden. Dort wirst du aber besonders die Lambda-Ausdrücke benötigen, da die meisten LINQ-Methoden Funktionen (
Func) erwarten und da bieten sich Lambda-Ausdrücke einfach sehr gut an.