J'ai lu ceci question pour obtenir le premier caractère de la chaîne. Existe-t-il un moyen d'obtenir les n premiers caractères d'une chaîne de caractères en C# ?
Réponses
Trop de publicités?Je vous informe qu'il existe une nouvelle façon de procéder dans C# 8.0 : Opérateurs de gamme
Ou comme j'aime les appeler, les tranches de pandas.
A l'ancienne :
string newString = oldstring.Substring(0, 5);
Nouvelle façon :
string newString = oldstring[..5];
Ce qui, à première vue, semble être un mauvais compromis entre une certaine lisibilité et un code plus court, mais la nouvelle fonctionnalité vous donne
- une syntaxe standard pour le découpage des tableaux (et donc des chaînes de caractères)
-
des trucs cool comme ça :
var slice1 = list[2..^3] ; // list[Range.Create(2, Index.CreateFromEnd(3))]
var slice2 = list[..^3] ; // list[Range.ToEnd(Index.CreateFromEnd(3))]
var slice3 = list[2..] ; // list[Range.FromStart(2)]
var slice4 = list[..] ; // list [Range.All]
Ajoutez cinq caractères d'espacement, puis coupez les cinq premiers et coupez le résultat. Le nombre d'espaces que vous ajoutez doit correspondre au nombre de caractères que vous coupez. Veillez à inclure la parenthèse avant .Substring(0,X)
ou vous n'ajouterez rien.
string str = (yourStringVariable + " ").Substring(0,5).Trim();
Avec cette technique, vous n'aurez pas à vous soucier de la ArgumentOutOfRangeException
mentionnés dans d'autres réponses.