Cadenas. Resumen.
Cadena es una lista (o secuencia) de caracteres en un orden específico. La secuencia completa de caracteres se trata como un solo objeto.
Un carácter es cualquier cosa que puede escribir en el teclado con una sola pulsación de tecla (letra, número, reverso barra inclinada o algún otro carácter).
Las cadenas pueden tener espacios: "¡Hola mundo!".
Una cadena vacía es una cadena que tiene 0 caracteres.
C sharp acepta como cadenas todo lo que está escrito entre comillas ("" ), string es de tipo string .
Importante recordar: las cadenas en C# son inmutables.
Puede escribir un nuevo valor en una cadena usando el operador de entrada:
string s = Console.ReadLine();
También puede simplemente asignar un valor de cadena a la variable, por ejemplo:< /lapso >
cadena s = "C sostenido";
Puede definir la longitud de una cadena como esta:
int n = s.Length; intervalo>
|
Al ingresar una cadena, puede dividirla inmediatamente en partes con cualquier separador.
Hemos hecho esto antes cuando ingresamos múltiples variables numéricas en la misma línea. Usamos el método S plit() para dividir una cadena en partes. De forma predeterminada, separa las cadenas en subcadenas por espacio.
Con este método, puede dividir la cadena en partes, por ejemplo, por espacios. Y escribe cada parte de la cadena en una variable separada.
Ejemplo:
cadena[] S = Consola.ReadLine().Split();
En el ejemplo, al ingresar dos palabras separadas por un espacio, la primera palabra se almacena en el elemento cero de la matriz s[0], la segunda, en el segundo s[1].
Si necesita usar varios caracteres como separadores, puede especificarlos separados por comas:
cadena[] S = Console.ReadLine().Split(nuevo[] { ' ', '\n' });
Si puede haber varios espacios consecutivos en la cadena de entrada, también pueden aparecer espacios en la matriz final, para excluir esto, debe agregar un parámetro:
string[] S = Console.ReadLine().Split(new[] { ' ', '\n' }, StringSplitOptions.RemoveEmptyEntries);
Si necesita usar delimitadores de subcadena:
string[] S = Console.ReadLine().Split(nuevo[] { "\\r\\n", "\r", "\n", "" }, StringSplitOptions.RemoveEmptyEntries);
|
Las cadenas se pueden sumar usando el signo "+". Esta operación se denomina concatenación de cadenas o concatenación.
Por ejemplo,
cadena s = "Hola,";
cadena s1 = "mundo";
Consola.WriteLine(s + s1);
La pantalla mostrará la frase "Hola mundo" (sin comillas).
|
Hacer referencia a índices de fila
Cada carácter de una cadena tiene un número (llamado índice), y la indexación en el lenguaje de programación C# comienza desde cero. Es decir, el primer carácter tiene índice 0, el segundo - 1, y así sucesivamente.
Se puede acceder a los caracteres de cadena mediante índices, que se indican entre corchetes s[i] .
Ejemplo
Cadena S |
H |
e |
l |
l |
o |
Índice |
S[0] |
S[1] |
S[2] |
S[3] |
S[4] |
¡Importante!
Al acceder a un elemento de cadena en el índice i , el tipo s[i] no es string sino char . Esto significa que no se trata de una cadena, sino de un carácter que corresponde a algún número entero en la tabla de códigos de caracteres. En particular, cuando agrega dos elementos de tipo char , obtiene un número entero: la suma de los códigos de estos elementos. Sin embargo, si muestra s[i] , se mostrará el carácter i -th de la cadena, no el número correspondiente.
Debido a que se puede acceder a un carácter por índice, se puede usar un bucle variable para iterar sobre todos los caracteres , que tomará posibles valores de índice. Por ejemplo, un programa que muestra todos los códigos de caracteres de la cadena s se vería así:
para (int i = 0; i < s.Length; i++)
{
Consola.WriteLine(s[i]);
Console.WriteLine(Convert.ToInt32(s[i]));
}
Notas del programa:
1) s.Length busca la longitud de una cadena. El índice del primer carácter es 0 y el índice del último es s.Length-1 . La variable de bucle i solo tomará valores secuencialmente de 0 a s.Length -1 ;
2) en cada línea, primero se mostrará el símbolo en sí y luego su código, que se puede obtener a través del método Convert.ToInt32() ;
La misma enumeración se puede escribir más corta:
foreach (char c in s)
{
Consola.WriteLine(c);
Consola.WriteLine(Convert.ToInt32(c));
}
En este fragmento, el encabezado del bucle recorre todos los s caracteres, colocándolos uno por uno en la variable c.
La peculiaridad de C# cuando se trabaja con cadenas es que las cadenas son objetos inmutables. En otras palabras, no podemos cambiar los caracteres individuales de una cadena.
Por ejemplo, la siguiente instrucción no funcionará:
s[5]=" ";
|
|