¿Qué es un string en C#?

Estrada Web Group
Estrada Web Group
¿Qué es un string en C#?

Resumen: en este tutorial, aprenderás sobre el tipo string o cadenas de texto de C# y las operaciones básicas que puedes hacer con este tipo de datos.

Introducción al tipo de datos string de C#

C# usa la palabra clave string para representar el tipo de datos de cadenas de texto. La palabra clave string es un alias para el tipo System.String. Por lo tanto, string y String son equivalentes.

Declarar un string

El siguiente ejemplo declara una variable string sin inicializarlo:

string message;

Después de declarar la variable string, puedes asignarle una cadena de texto. Para formar una cadena de texto, coloca el texto entre comillas dobles ("..."). Por ejemplo:

message = "Hola";

El siguiente ejemplo declara e inicializa la cadena usando la misma declaración:

string message = "Hi";

Para crear un string de longitud cero, usa String.Empty así:

string message = String.Empty;

Es equivalente a lo siguiente:

string message  = "";

Obtener la longitud de un string

Un string tiene la propiedad Length que devuelve la longitud de una cadena. Para acceder a la propiedad Length, utiliza el operador de punto (.) así:

string message = "Hola";
Console.WriteLine(message.Length);

Resultado

4

Concatenar dos cadenas

Para concatenar dos cadenas en una, usa el operador +. Por ejemplo:

string message = "Bienvenido" + " a Estrada Web Group";
Console.WriteLine(message);

Resultado:

Bienvenido a Estrada Web Group

Para agregar una cadena a otra, también puede usar el operador +=. Por ejemplo:

string message = "Bienvenido";
message +=  " a Estrada Web Group";
Console.WriteLine(message);

Resultado:

Bienvenido a Estrada Web Group

String de C# es inmutable

Significa que cuando realizas cambios en una cadena, siempre obtendrás una nueva cadena. Por ejemplo:

string message = "C#";
message += " string";

Console.WriteLine(message);

Resultado:

C# string

En este ejemplo:

  • Primero, defines la variable string message e inicialízala con "C#".
  • En segundo lugar, concatena la variable string menssage con otra cadena de texto " string".
  • Tercero, muestra la variable string menssage en la consola.

Al concatenar el valor del string menssage con " string", C# no cambia el mensaje de cadena original, sino que crea una nueva cadena que contiene la cadena concatenada.

Acceso a caracteres individuales

Internamente, C# almacena un string como una colección de caracteres de solo lectura. Para acceder a un carácter individual en un string, utilice la notación de corchetes [] con un índice:

s[index]

El primer carácter tiene un índice de 0. El segundo carácter tiene un índice de 1, y así sucesivamente. Por ejemplo:

string message = "Hello";

Console.WriteLine(message[0]); // H

Debido a que un string es inmutable, solo puedes leer caracteres individuales de ella.

El siguiente ejemplo da como resultado un error de compilación porque intenta cambiar el primer carácter de una cadena:

string name = "Jill";
name[0] = 'B';

Secuencias de escape

Una cadena de texto puede contener caracteres especiales como tabulaciones, saltos de línea, … usando una barra invertida (\). Se llaman secuencias de escape. Por ejemplo:

string header = "id\tname";

Console.WriteLine(header);

Resultado:

id      name

El string de header tiene el carácter \t como carácter de tabulación. Entonces, cuando lo mostramos en la consola, la salida tiene un carácter de tabulación entre id y name.

Si un string contiene comillas dobles, debes usar el carácter de barra invertida \ para escapar de ellas. Por ejemplo:

string message = "\"C# is awesome\". They said";
Console.WriteLine(message);

En este ejemplo, el string contiene dos comillas dobles:

"C# is awesome". They said.

Por lo tanto, usamos el carácter de barra invertida (\) para escapar de cada uno de ellos:

"\"C# is awesome\". They said."

Si un string contiene el carácter de barra invertida como un carácter literal, debe usar otro carácter de barra invertida para escapar de esta manera:

string path = "C:\\users\\";

Console.WriteLine(path);

Resultado:

C:\users\

En este ejemplo, la cadena "C:\users\" de la ruta del directorio contiene las barras invertidas. Por lo tanto, necesitamos escapar de ellos usando barras invertidas.
String textual

Si una cadena contiene barras diagonales inversas, puedes escaparlas usando barras diagonales inversas. Pero las barras invertidas dobles dificultan la lectura de la cadena.

Para solucionar esto, puedes convertir un string en una cadena textual anteponiendo el símbolo @. La cadena textual deshabilita los caracteres de escape para que una barra invertida sea una barra invertida. Por ejemplo:

string path = @"C:\users\";

Console.WriteLine(path);

Resultado:

C:\users\

Dado que las cadenas textuales conservan los caracteres de nueva línea como parte del texto del string, puedes utilizarlos para crear cadenas de varias líneas. Por ejemplo:

string content = @"I'm a multiline
string that span multiple
lines";

Console.WriteLine(content);

Resultado:

I'm a multiline
string that span multiple
lines

String interpolada

Supongamos que tiene una variable llamada name:

string name = "Joe";

Y deseas concatenar la variable en otra cadena de texto.

Para hacerlo, prefija la cadena de texto con el carácter $ y coloca la variable dentro de las llaves {}:

string name = "Joe";
string greeting = $"Hello {name}!";

Console.WriteLine(greeting);

Resultado:

Hello Joe!

Una cadena de texto con el prefijo $ es una cadena interpolada.

Cuando se encuentra el prefijo $, el compilador reemplaza la variable {name} con su valor. Esta característica se llama interpolación de cadenas.

Resumen

  • C# usa la palabra clave string para representar el tipo de datos de cadena de texto.
  • La palabra clave string es un alias para el tipo System.String. Por lo tanto, string y String son lo mismo.
  • Los string de C# son inmutables.
  • Utiliza la propiedad Length para obtener la longitud de la cadena.
  • Utiliza el operador + para concatenar dos cadenas y devolver una nueva cadena.
  • Utiliza el corchete con un índice para acceder a un carácter individual en un string.
  • Usa una cadena textual con el prefijo @ para deshabilitar el carácter de escape para que las barras invertidas no tengan un significado especial.
  • Utiliza una cadena interpolada con el prefijo $ para incrustar una variable en una cadena de texto.
Compartir artículo:

Más artículos geniales

¿Qué es un string en C#?

¿Qué es un string en C#?

Resumen: en este tutorial, aprenderás sobre el tipo string o cadenas de texto de C# y las operaciones básicas que puedes hacer con este tipo de datos.

Ver artículo completo
Cómo instalar Visual Studio 2022

Cómo instalar Visual Studio 2022

En este tutorial veremos el paso a paso para instalar el Visual Studio, te guiamos a Cómo descargar e instalar Visual Studio 2022

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla