私はこのコードを持っています:
stringCutted = myString.Split("/"). // ???
string[]
を使用して、分割後の配列を変数に保存せずに、array[array.length]
の最後の要素を直接、すばやく、stringCutted
に保存したい_。
これはC#で可能ですか?
.NET 3.5以降を使用している場合、LINQ to Objectsを使用すると簡単です。
_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
分割された配列を保存せずに、最後の要素を直接、迅速に返すソリューションが必要なので、これは便利だと思います:
stringCutted = myString.Substring(myString.LastIndexOf("/")+1);
LINQを使用する
"t/e/s/t".Split("/").Last();
このコードを使用するために、Url
リンクから最後の要素をスキップします。
string url = Request.Url.ToString().Substring(0, Request.Url.ToString().LastIndexOf('/'));