C # équivalent à charAt () de Java?


118

Je sais que nous pouvons utiliser la charAt()méthode Java pour obtenir un caractère individuel dans une chaîne en spécifiant sa position. Existe-t-il une méthode équivalente en C #?


Recherchez-vous une solution qui ne fonctionne que sur des chaînes garanties de ne pas contenir de caractères Unicode non 16 bits? Ou recherchez-vous une solution qui fonctionne sur une chaîne arbitraire?
hippietrail

Réponses:


201

Vous pouvez indexer dans une chaîne en C # comme un tableau, et vous obtenez le caractère à cet index.

Exemple:

En Java, vous diriez

str.charAt(8);

En C #, vous diriez

str[8];

2
Je pense qu'il convient de souligner que str.Substring (8,1) fonctionne comme une solution, mais elle est beaucoup plus lente. Je viens de le découvrir à la dure.
qzcx

Cela m'a sauvé la vie: D Merci beaucoup!
Spidi's Web


0

vous pouvez utiliser LINQ

string abc = "abc";
char getresult = abc.Where((item, index) => index == 2).Single();

-1

s'il vous plaît essayez d'en faire un personnage

string str = "Tigger";
//then str[0] will return 'T' not "T"

-2

Console.WriteLine permet à l'utilisateur de spécifier une position dans une chaîne.

Voir exemple:

string str = "Tigrou"; Console.WriteLine (str [0]); // renvoie "T"; Console.WriteLine (str [2]); // renvoie "g";

Voilà!


-3

Utilisez simplement String.ElementAt(). C'est assez similaire à celui de java String.charAt(). Amusez-vous à coder!


Pourquoi utiliseriez-vous une méthode d'extension IEnumerable, alors que vous pouvez simplement faire ce que les autres ont mentionné il y a plusieurs années? (Indexation de chaîne intégrée).
Dave Doknjas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.