我有这样的代码:一个.Split()后,快速选择最后一个元素
stringCutted = myString.Split("/"). // ???
,我想在stringCutted
的string[]
的最后一个元素来存储分裂后,直接,快速,不存储在一个变量中,并访问与array[array.length]
该元素的分裂阵列。
这是可能的C#?
我有这样的代码:一个.Split()后,快速选择最后一个元素
stringCutted = myString.Split("/"). // ???
,我想在stringCutted
的string[]
的最后一个元素来存储分裂后,直接,快速,不存储在一个变量中,并访问与array[array.length]
该元素的分裂阵列。
这是可能的C#?
如果您使用.NET 3.5或更高版本,这很容易使用LINQ到对象:
stringCutted = myString.Split('/').Last();
注意Last()
(没有谓词)是对于其中源实现IList<T>
(作为一维数组那样)的情况下因此这优化不会迭代整个数组,找到最后一个元素。在另一方面,优化是无证...
stringCutted=myString.Split("/").Last()
但是,仅供参考,如果你想从一个路径获得的文件名,这更好的作品堆:
var fileName=System.IO.Path.GetFileName("C:\\some\path\and\filename.txt");
// yields: filename.txt
使用LINQ
"t/e/s/t".Split("/").Last();
既然你要直接返回的最后一个元素,快速,无店劈裂阵列的解决方案,我认为这可能是有用:
stringCutted = myString.Substring(myString.LastIndexOf("/")+1);
对于使用此代码,我跳过从Url
环节最后一个元素。
string url = Request.Url.ToString().Substring(0, Request.Url.ToString().LastIndexOf('/'));
字符串 '板缺' ?????? –
已经被切:)字符串 – markzzz
不,我是意大利:) – markzzz