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?En C# 8, vous pouvez utiliser Opérateurs de gamme . Afin d'éviter l'exception si votre chaîne originale est plus courte que la longueur désirée, vous pouvez utiliser Math.Min
:
string newString = oldstring[..Math.Min(oldstring.Length, 5)];
Bien sûr, si vous savez que la chaîne originale est plus longue, vous pouvez l'optimiser :
string newString = oldstring[..5];
J'utilise :
var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);
ou une alternative si vous voulez vérifier les espaces blancs aussi (au lieu de seulement Null) :
var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue
Ou vous pouvez utiliser String.ToCharArray() .
Il faut int startindex
et et int length
comme paramètres et renvoie un char[]
new string(stringValue.ToCharArray(0,5))
Vous devez toujours vous assurer que la chaîne de caractères a la longueur appropriée, sinon un message d'erreur sera généré. ArgumentOutOfRangeException