La plupart (je dirais même toutes) des applications affiche du texte. La principale classe utilisée pour gérer le texte en C# est la classe String. Les opérations réalisables sur du texte sont nombreuses: concaténation, recherche, remplacement… ou simplement affichage dans un format particulier. Passons en revue, les différentes possibilités offertes en C# pour les effectuer.
Généralités
La classe String peut s’écrire string (en minuscule). Ces écritures sont équivalentes. La variante en minuscule est juste un alias. Un string est un tableau de Char. C’est un type référence. Il propose une propriété Length qui donne la longueur de la chaine de caractères.
L’une des caractéristiques de la classe String est qu’elle est immuable. C’est à dire qu’elle ne peut pas être modifiée après sa création. Donc chaque fois qu’on effectue un traitement sur un string, un nouveau string est créé.
Voilà pourquoi, lorsqu’on compte effectuer de nombreux traitements sur un string, mieux vaut utiliser un StringBuilder. A la différence du string, le StringBuilder n’est pas immuable.
Les méthodes
J’énumère ci-dessous quelques fonctions et méthodes intéressantes que propose la classe String:
- IndexOf, LastIndexOf: IndexOf retourne l’index de la première occurrence d’un caractère ou d’une sous-chaîne contenue dans la chaîne de caractères. Elle retourne –1 si la recherche n’est pas concluante. LastIndexOf fait la même chose mais en commençant par la fin de la chaine.
- StartsWith, EndsWith: vérifie que la chaine commence ou termine par une certaine chaîne. Elle Retourne true ou false en fonction du résultat.
- SubString: permet de récupérer une partie de notre chaîne de caractères.
- Remove: renvoie une nouvelle chaîne dans laquelle certains caractères ont été supprimés
- Replace: renvoie une nouvelle chaîne dans laquelle certains caractères on été remplacés
- Split: fractionne la chaîne en sous chaines en utilisant généralement un séparateur
- Contains: renvoie true si une sous-chaîne apparaît dans la chaîne
String.Format
Lorsqu’on affiche du texte aux utilisateurs, on éprouve souvent le besoin de l’afficher d’une façon particulière.La fonction statique String.Format nous propose de nombreuses options pour afficher nos nombres, dates… dans un format particulier. Voici quelques exemples d’utilisation:
- afficher la devise:
String.Format("{0:c}", 1.42)
affichera € 1.42. La devise dépend des paramètres régionaux.
- afficher en hexadécimal:
String.Format("{0:x4}", 256)
affichera 0100.
- affichage scientifique:
String.Format("{0:e}", 1.42455)
affichera 1,424550e+000
Il est possible de faire presque tout ce qu’on veut avec les nombres: choisir le nombre de chiffres après la virgules, afficher des pourcentages…
On peut aussi afficher les dates selon le format désiré.
- Date courte:
String.Format("{0:d}", DateTime.Now)
affichera la date sous la forme 20/01/2017
- Date longue:
String.Format("{0:D}", DateTime.Now)
affichera vendredi 20 janvier 2017
- Date longue et heure
String.Format("{0:f}", DateTime.Now)
affichera vendredi 20 janvier 2017 23:36
Comme avec les chiffres, il est possible de pousser la personnalisation plus loin.
Plus d’informations
Laisser un commentaire