mar*_*zzz 61 c# arrays string split
我有这个代码:
stringCutted = myString.Split("/"). // ???
Run Code Online (Sandbox Code Playgroud)
并且我想直接,快速地存储在分割后stringCutted的最后一个元素中string[],而不将分割的数组存储在变量中并使用array[array.length].
这可能在C#中吗?
Jon*_*eet 129
如果您使用的是.NET 3.5或更高版本,则可以轻松使用LINQ to Objects:
stringCutted = myString.Split('/').Last();
Run Code Online (Sandbox Code Playgroud)
注意Last()(没有谓词)针对源实现的情况IList<T>(作为一维数组)进行了优化,因此这不会遍历整个数组以找到最后一个元素.另一方面,这种优化没有记录......
Jam*_*iec 25
stringCutted=myString.Split("/").Last()
Run Code Online (Sandbox Code Playgroud)
但是,仅供参考,如果你想从一个路径获取一个文件名,这可以更好地工作:
var fileName=System.IO.Path.GetFileName("C:\\some\path\and\filename.txt");
// yields: filename.txt
Run Code Online (Sandbox Code Playgroud)
小智 12
既然你想要一个直接快速返回最后一个元素的解决方案,而不存储分割数组,我认为这可能很有用:
stringCutted = myString.Substring(myString.LastIndexOf("/")+1);
Run Code Online (Sandbox Code Playgroud)