Manipular cadenas

Completados

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.