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.