La classe System.String en C sharp.Net


La classe System.String en C sharp.Net
La classe System.String en C sharp.Net

La classe  System.String  est identique au type simple  string. Elle présente de nombreuses propriétés et méthodes. En voici quelques-unes :
public int Length { get; } nombre de caractères de la chaîne
public bool EndsWith(string value) rend vrai si la chaîne se termine par value
public bool StartsWith(string value) rend vrai si la chaîne commence par value
public virtual bool Equals(object obj) rend vrai si la chaînes est égale à obj - équivalent
chaîne==obj
public int IndexOf(string value, int startIndex) rend la première position dans la chaîne de la
chaîne value - la recherche commence à partir du
caractère n° startIndex
public int IndexOf(char value, int startIndex) idem mais pour le caractère value
public string Insert(int startIndex, string value) insère la chaîne value dans chaîne en position
startIndex
public static string Join(string separator,
string[] value)
méthode de classe - rend une chaîne de caractères,
résultat de la concaténation des valeurs du tableau
value avec le séparateur separator
public int LastIndexOf(char value, int startIndex,
int count)
public int LastIndexOf(string value, int
startIndex, int count)
idem indexOf mais rend la dernière position au lieu
de la première
public string Replace(char oldChar, char newChar) rend une chaîne copie de la chaîne courante où le
caractère oldChar a été remplacé par le caractère
newChar
public string[] Split(char[] separator) la chaîne est vue comme une suite de champs séparés
par les caractères présents dans le tableau
separator. Le résultat est le tableau de ces champs
 public string Substring(int startIndex, int length) sous-chaîne de la chaîne courante commençant à la
position startIndex et ayant length caractères
public string ToLower() rend la chaîne courante en minuscules
public string ToUpper() rend la chaîne courante en majuscules
public string Trim() rend la chaîne courante débarrassée de ses espaces
de début et fin
On notera un point important : lorsqu'une méthode rend une chaîne de caractères, celle-ci est une chaîne différente de la chaîne
sur laquelle a été appliquée la méthode. Ainsi S1.Trim() rend une chaîne S2, et S1 et S2 sont deux chaînes différentes.
Une chaîne C peut être considérée comme un tableau de caractères. Ainsi
 C[i] est le caractère i de C
 C.Length est le nombre de caractères de C
Considérons l'exemple suivant :
1. using System;
2.
3. namespace Chap3 {
4. class Program {
5. static void Main(string[] args) {
6. string uneChaine = "l'oiseau vole au-dessus des nuages";
7. affiche("uneChaine=" + uneChaine);
8. affiche("uneChaine.Length=" + uneChaine.Length);
9. affiche("chaine[10]=" + uneChaine[10]);
10. affiche("uneChaine.IndexOf(\"vole\")=" + uneChaine.IndexOf("vole"));
11. affiche("uneChaine.IndexOf(\"x\")=" + uneChaine.IndexOf("x"));
12. affiche("uneChaine.LastIndexOf('a')=" + uneChaine.LastIndexOf('a'));
13. affiche("uneChaine.LastIndexOf('x')=" + uneChaine.LastIndexOf('x'));
14. affiche("uneChaine.Substring(4,7)=" + uneChaine.Substring(4, 7));
15. affiche("uneChaine.ToUpper()=" + uneChaine.ToUpper());
16. affiche("uneChaine.ToLower()=" + uneChaine.ToLower());
17. affiche("uneChaine.Replace('a','A')=" + uneChaine.Replace('a', 'A'));
18. string[] champs = uneChaine.Split(null);
19. for (int i = 0; i < champs.Length; i++) {
20. affiche("champs[" + i + "]=[" + champs[i] + "]");
21. }//for
22. affiche("Join(\":\",champs)=" + System.String.Join(":", champs));
23. affiche("(\"  abc  \").Trim()=[" + "  abc  ".Trim() + "]");
24. }//Main
25.
26. public static void affiche(string msg) {
27. // affiche msg
28. Console.WriteLine(msg);
29. }//affiche
30. }//classe
31.}//namespace
L'exécution donne les résultats suivants :
1. uneChaine=l'oiseau vole au-dessus des nuages
2. uneChaine.Length=34
3. chaine[10]=o
4. uneChaine.IndexOf("vole")=9
5. uneChaine.IndexOf("x")=-1
6. uneChaine.LastIndexOf('a')=30
7. uneChaine.LastIndexOf('x')=-1
8. uneChaine.Substring(4,7)=seau vo
9. uneChaine.ToUpper()=L'OISEAU VOLE AU-DESSUS DES NUAGES
10.uneChaine.ToLower()=l'oiseau vole au-dessus des nuages
11.uneChaine.Replace('a','A')=l'oiseAu vole Au-dessus des nuAges
12.champs[0]=[l'oiseau]
13.champs[1]=[vole]
14.champs[2]=[au-dessus]
15.champs[3]=[des]
16.champs[4]=[nuages]
17.Join(":",champs)=l'oiseau:vole:au-dessus:des:nuages
18.("  abc  ").Trim()=[abc]
Considérons un nouvel exemple :
1. using System;
2.
3. namespace Chap3 {
4. class Program {
5. static void Main(string[] args) {
6. // la ligne à analyser
7. string ligne = "un:deux::trois:";
8. // les séparateurs de champs
9. char[] séparateurs = new char[] { ':' };
10. // split
11. string[] champs = ligne.Split(séparateurs);
12. for (int i = 0; i < champs.Length; i++) {
13. Console.WriteLine("Champs[" + i + "]=" + champs[i]);
14. }
15. // join
16. Console.WriteLine("join=[" + System.String.Join(":", champs) + "]");
17. }
18. }
19.}
et les résultats d'exécution :
1. Champs[0]=un
2. Champs[1]=deux
3. Champs[2]=
4. Champs[3]=trois
5. Champs[4]=
6. join=[un:deux::trois:]
La méthode Split de la classe String permet de mettre dans un tableau des éléments d'une chaîne de caractères. La définition de la
méthode Split utilisée ici est la suivante :
    public string[] Split(char[] separator);
separator
tableau de caractères. Ces caractères représentent les caractères utilisés pour séparer les champs de la chaîne de
caractères. Ainsi si la chaîne est "champ1, champ2, champ3" on pourra utiliser separator=new char[] {','}. Si le séparateur
est une suite d'espaces on utilisera separator=null.
résultat
tableau de chaînes de caractères où chaque élément du tableau est un champ de la chaîne.
La méthode Join est une méthode statique de la classe String :
    public static string Join(string separator, string[] value);
value
tableau de chaînes de caractères
separator
une chaîne de caractères qui servira de séparateur de champs
résultat
une chaîne de caractères formée de la concaténation des éléments du tableau value séparés par la chaîne separator.

Publié par Drupal french Study