C#数组从一行中获取split中的最后一项

Pat*_*rio 9 .net c# arrays

我知道这可以获得数组的第一项

string aString = @"hello/all\this\is/a\test";
string firstItemOfSplit = aString.Split(new char[] {'\\', '/'})[0];
//firstItemOfSplit = hello
Run Code Online (Sandbox Code Playgroud)

有没有办法获得最后一项?就像是

string aString = @"hello/all\this\is/a\test";
string lastItemOfSplit = aString.Split(new char[] {'\\', '/'})[index.last];
//lastItemOfSplit = test
Run Code Online (Sandbox Code Playgroud)

hat*_*sms 28

您可以使用System.Linq中的IEnumerable.Last()扩展方法.

string lastItemOfSplit = aString.Split(new char[] {@"\"[0], "/"[0]}).Last();
Run Code Online (Sandbox Code Playgroud)


Ed *_* S. 7

喜欢使用IEnumerable.Last()扩展方法?包括System.Linq,你会拥有它.


Jon*_*eet 7

您可以随时使用LINQ:

string lastItem = aString.Split(...).Last();
Run Code Online (Sandbox Code Playgroud)

注意,在处理a时优化的,而你没有应用谓词 - 所以它甚至不会遍历序列来找到最后一个谓词.(并不是说它可能是一个问题.)Enumerable.Last() IList<T>