Manipular cadenas
Sugerencia
Consulte la pestaña Texto e imágenes para obtener más detalles.
Text es uno de los tipos de datos más comunes en la programación. En C#, el texto se representa como una cadena: una secuencia de caracteres entre comillas dobles. C# proporciona muchas maneras integradas de manipular y dar formato a cadenas.
Concatenación (unir cadenas)
Puede combinar dos o más cadenas en una sola cadena mediante el + operador :
string first = "Hello";
string last = "world";
string message = first + ", " + last + "!";
Console.WriteLine(message);
Salida:
Hello, world!
Aunque la concatenación funciona perfectamente para combinaciones simples, se puede volver desordenada al intentar mezclar variables, signos de puntuación y espacios juntos.
Una mejor manera: Interpolación de cadenas
Una manera más limpia y moderna de combinar cadenas y variables es con interpolación de cadenas. Para crear este tipo de cadena, coloque un signo de dólar ($) directamente antes de la cita de apertura y coloque los nombres de variable entre llaves {}:
string name = "Alex";
Console.WriteLine($"Hello, {name}!");
Salida:
Hello, Alex!
Puede intentar ejecutar este código usted mismo en el Editor de código de C#.
Una manera más limpia de combinar la entrada y la salida
La interpolación de cadenas resuelve el problema que vimos anteriormente con Console.ReadLine(). Ahora puede mezclar texto y variables fácilmente:
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}! Nice to meet you.");
Esto es mucho más limpio que concatenar con +.
Note
Si olvidas el prefijo $ (p. ej., Console.WriteLine("Hello, {name}")), C# no buscará dentro de las llaves, sino que mostrará literalmente {name} en pantalla.
Métodos de cadena comunes
Las cadenas de C# tienen muchos métodos integrados para las operaciones comunes. Para usar un método, escriba el nombre de la variable, un punto y el nombre del método seguido de paréntesis:
| Método | Qué hace | Example | Resultado |
|---|---|---|---|
.ToUpper() |
Pone el texto en mayúsculas. | "hello".ToUpper() |
"HELLO" |
.ToLower() |
Pone el texto en minúsculas. | "HELLO".ToLower() |
"hello" |
.Replace(old, new) |
Intercambia caracteres específicos | "cat".Replace("c", "b") |
"bat" |
.Length |
Devuelve el número de caracteres. | "Alex".Length |
4 |
Ejemplo práctico
Este es el modo en que puede usar estas técnicas juntas:
Console.Write("What's your name? ");
string name = Console.ReadLine();
string greeting = $"Welcome, {name.ToUpper()}!";
Console.WriteLine(greeting);
Si el usuario escribe alex, la salida es:
What's your name? alex
Welcome, ALEX!
Fíjate en cómo .ToUpper() convirtió la entrada del usuario en mayúsculas, y la interpolación de cadenas facilitó combinarlo todo.