C# array Holen Sie sich last-Element von split in einer Zeile
Ich weiß, dass dies funktioniert, um das erste Element eines Arrays
string aString = @"hello/all\this\is/a\test";
string firstItemOfSplit = aString.Split(new char[] {'\\', '/'})[0];
//firstItemOfSplit = hello
gibt es einen Weg, um das Letzte Element? So etwas wie
string aString = @"hello/all\this\is/a\test";
string lastItemOfSplit = aString.Split(new char[] {'\\', '/'})[index.last];
//lastItemOfSplit = test
btw, eine sauberere Möglichkeit der Berufung split wäre
oder
aString.Split('\\', '/')
.oder
aString.Split(@"\/".ToCharArray ())
.InformationsquelleAutor Patrick Lorio | 2011-10-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie IEnumerable.Last () - Methode aus dem System.Linq -.
InformationsquelleAutor hatesms
Gerne mit Hilfe der IEnumerable.Last() Erweiterung Methode? Gehören
System.Linq
und Sie werden es haben.InformationsquelleAutor Ed S.
Konnten Sie immer die Verwendung von LINQ:
Beachten Sie, dass
Enumerable.Last()
ist optimiert beim arbeiten auf einIList<T>
und du bist nicht die Anwendung eine Prädikat - es ist also nicht einmal zu Fuß über die Sequenz zu finden, die Letzte. (Nicht, dass es eher ein Problem sowieso.)InformationsquelleAutor Jon Skeet
Wenn Sie können Linq:
Hier ist eine GC-freundliche version, die nicht erfordert linq.
InformationsquelleAutor agent-j
diese hier habe ich ausprobiert und es funktionierte.
InformationsquelleAutor Nivid Dholakia