¿C # equivalente a charAt () de Java?


118

Sé que podemos usar el charAt()método en Java para obtener un carácter individual en una cadena especificando su posición. ¿Existe un método equivalente en C #?


¿Está buscando una solución que solo funcione en cadenas que garanticen que no contienen caracteres Unicode que no sean de 16 bits? ¿O está buscando una solución que funcione en una cadena arbitraria?
hippietrail

Respuestas:


201

Puede indexar en una cadena en C # como una matriz, y obtiene el carácter en ese índice.

Ejemplo:

En Java, dirías

str.charAt(8);

En C #, dirías

str[8];

2
Creo que debe señalarse que str.Substring (8,1) funciona como solución, pero es mucho más lento. Lo acabo de descubrir por las malas.
qzcx

Esto me salvó la vida: D ¡Muchas gracias!
Web de Spidi


0

puedes usar LINQ

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

-1

por favor intenta hacerlo como un personaje

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

-2

Console.WriteLine permite al usuario especificar una posición en una cadena.

Ver muestra:

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

¡Ahí tienes!


-3

Simplemente use String.ElementAt(). Es bastante similar al de Java String.charAt(). ¡Diviértete codificando!


¿Por qué usaría un método de extensión IEnumerable, cuando puede hacer lo que los demás mencionaron hace muchos años? (Indexación de cadenas incorporada).
Dave Doknjas
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.