web-dev-qa-db-fra.com

C #: comment obtenir le premier caractère d'une chaîne?

Le premier char d'une chaîne peut-il être récupéré en procédant comme suit?

MyString.ToCharArray[0]
156
Craig Johnston

Juste MyString[0]. Ceci utilise l'indexeur String.Chars .

340
Matthew Flaschen

Mystring[0] devrait suffire

50
aqwert

La différence entre MyString[0] et MyString.ToCharArray()[0] est que l'ancien traite la chaîne comme un tableau en lecture seule, alors que ToCharArray() crée un nouveau tableau. Le premier sera plus rapide (avec plus facile) pour presque tout ce qui fonctionnera, mais ToCharArray peut être nécessaire si vous avez une méthode qui doit accepter un tableau ou si vous souhaitez modifier le tableau.

Si la chaîne n'est pas connue pour être non-nulle et non-vide, vous pouvez faire:

string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]

qui retourne un char? de null ou du premier caractère de la chaîne, selon le cas.

16
Jon Hanna

Vous pouvez utiliser LINQ

char c = mystring.FirstOrDefault()

Il sera égal à '\0' si la chaîne est vide.

16
Dmitry S.

Essaye ça,

string s1="good"; string s=s1.Substring(0,1);

13
Sanjay Kumaar

Ou vous pouvez faire ceci:

MyString[0];
7
james_bond

Juste une autre approche:

string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));
6
knkarthick24

Je pense que vous cherchez ceci MyString.ToCharArray()[0]

:)

Mais vous pouvez aussi utiliser MyString[0].

5
Nayan