Sélectionnez le dernier élément rapidement après un .Split ()

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('/'));