J’ai ce code:
ssortingngCutted = mySsortingng.Split("/"). // ???
et je voudrais stocker dans ssortingngCutted
le dernier élément de la ssortingng[]
après le fractionnement, directement, rapidement, sans stocker le tableau fractionné dans une variable et accéder à cet élément avec array[array.length]
.
Est-ce possible en C #?
Si vous utilisez .NET 3.5 ou supérieur, il est facile d’utiliser LINQ to Objects:
ssortingngCutted = mySsortingng.Split('/').Last();
Notez que Last()
(sans prédicat) est optimisé pour le cas où la source implémente IList
(comme le fait un tableau à une seule dimension), donc cela ne va pas parcourir tout le tableau pour trouver le dernier élément. En revanche, cette optimisation est non documentée …
ssortingngCutted=mySsortingng.Split("/").Last()
Mais, juste pour info, si vous essayez d’obtenir un nom de fichier à partir d’un chemin, cela fonctionne mieux:
var fileName=System.IO.Path.GetFileName("C:\\some\path\and\filename.txt"); // yields: filename.txt
Puisque vous voulez une solution qui renvoie le dernier élément directement, rapidement, sans stocker le tableau fractionné, je pense que cela peut être utile:
ssortingngCutted = mySsortingng.Subssortingng(mySsortingng.LastIndexOf("/")+1);
Utilisez LINQ
"t/e/s/t".Split("/").Last();
Pour utiliser ce code, j’ignore le dernier élément du lien Url
.
ssortingng url = Request.Url.ToSsortingng().Subssortingng(0, Request.Url.ToSsortingng().LastIndexOf('/'));