Dominando strings en C#: Fundamentos, operaciones y técnicas avanzadas
Dominando strings en C#: Fundamentos, operaciones y técnicas avanzadas
En este tutorial, aprenderemos sobre string en C# y sus métodos con la ayuda de ejemplos.
En C#, un string es una secuencia de caracteres. Por ejemplo, "hello" es un string que contiene una secuencia de caracteres 'h', 'e', 'l', 'l' y 'o'.
Usamos la palabra clave string para crear un string. Por ejemplo:
// crea un string
string str = "C# Programming";
Aquí, hemos creado un string llamado str y asignado el texto "C# Programming". Usamos comillas dobles para representar strings en C#.
Ejemplo: Crear string en C#
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// crea string
string str1 = "C# Programming";
string str2 = "Programiz";
// imprime string
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadLine();
}
}
}
Salida
C# Programming Programiz
En el ejemplo anterior, hemos creado dos strings llamados str1 y str2 e impreso.
Nota: Una variable string en C# no es de tipos primitivos como int, char, etc. En su lugar, es un objeto de la clase String.
Operaciones con strings
C# string proporciona varios métodos para realizar diferentes operaciones en strings. Veremos algunas de las operaciones de string más usadas.
1. Obtener la longitud de un string
Para encontrar la longitud de un string, usamos la propiedad Length. Por ejemplo:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// crea string
string str = "C# Programming";
Console.WriteLine("string: " + str);
// obtiene longitud de str
int length = str.Length;
Console.WriteLine("Length: " + length);
Console.ReadLine();
}
}
}
Salida
string: C# Programming Length: 14
En el ejemplo anterior, la propiedad Length calcula el número total de caracteres en el string y lo devuelve.
2. Unir dos strings en C#
Podemos unir dos strings en C# usando el método Concat(). Por ejemplo:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// crea string
string str1 = "C# ";
Console.WriteLine("string str1: " + str1);
// crea string
string str2 = "Programming";
Console.WriteLine("string str2: " + str2);
// une dos strings
string joinedString = string.Concat(str1, str2);
Console.WriteLine("Joined string: " + joinedString);
Console.ReadLine();
}
}
}
Salida
string str1: C# string str2: Programming Joined string: C# Programming
En el ejemplo anterior, hemos creado dos strings llamados str1 y str2. Observa la sentencia:
string joinedString = string.Concat(str1, str2);
Aquí, el método Concat() une str1 y str2 y lo asigna a la variable joinedString.
También podemos unir dos strings usando el operador + en C#. Para aprender más, visita C# string Concat.
3. Comparar dos strings en C#
En C#, podemos hacer comparaciones entre dos strings usando el método Equals(). El método Equals() verifica si dos strings son iguales o no. Por ejemplo:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// crea string
string str1 = "C# Programming";
string str2 = "C# Programming";
string str3 = "Programiz";
// compara str1 y str2
Boolean result1 = str1.Equals(str2);
Console.WriteLine("string str1 and str2 are equal: " + result1);
// compara str1 y str3
Boolean result2 = str1.Equals(str3);
Console.WriteLine("string str1 and str3 are equal: " + result2);
Console.ReadLine();
}
}
}
Salida
string str1 and str2 are equal: True string str1 and str3 are equal: False
En el ejemplo anterior, hemos creado 3 strings llamados str1, str2 y str3. Aquí, usamos el método Equals() para verificar si un string es igual a otro.
Inmutabilidad de objetos String
En C#, los strings son inmutables. Esto significa que, una vez creamos un string, no podemos cambiar ese string.
Para entenderlo, considera un ejemplo:
// crea string
string str = "Hello ";
Aquí, hemos creado una variable string llamada str. La variable contiene el string "Hello ".
Ahora supongamos que queremos cambiar el string str.
// añade otro string "World"
// al string anterior
str = string.Concat(str, "World");
Aquí, usamos el método Concat() para añadir el string "World" al string anterior str.
Pero, ¿cómo podemos modificar el string si son inmutables?
Veamos qué ha pasado:
- C# toma el valor del string
"Hello ". - Crea un nuevo string añadiendo
"World"al string"Hello ". - Crea un nuevo objeto string, le da el valor
"Hello World"y lo almacena en str. - El string original,
"Hello ", que fue asignado a str es liberado para recolección de basura porque ninguna otra variable mantiene una referencia a él.
Secuencias de escape en strings
El carácter de escape se usa para escapar algunos de los caracteres presentes dentro de un string. En otras palabras, usamos secuencias de escape para insertar caracteres especiales dentro del string.
Supongamos que necesitamos incluir comillas dobles dentro de un string.
// incluir comilla doble
string str = "This is the "String" class";
Como los strings se representan con comillas dobles, el compilador tratará "This is the " como el string. Y el código anterior causará error.
Para resolver esto, usamos el carácter de escape \" en C#. Por ejemplo:
// usa el carácter de escape
string str = "This is the \"String\" class.";
Ahora, usando \ antes de la comilla doble ", podemos incluirla en el string.
Algunas de las secuencias de escape en C# son:
| Secuencia de escape | Nombre del carácter |
|---|---|
\' | comilla simple |
\" | comilla doble |
\\ | barra invertida |
\0 | null |
\n | nueva línea |
\t | tabulación horizontal |
Interpolar strings
En C#, podemos usar interpolación de strings para insertar variables dentro de un string. Para interpolación, el literal de string debe comenzar con el carácter $. Por ejemplo:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// crea string
string name = "Programiz";
// interpolación de string
string message = $"Welcome to {name}";
Console.WriteLine(message);
Console.ReadLine();
}
}
}
Salida
Welcome to Programiz
En el ejemplo anterior, estamos usando la variable name dentro del string message.
string message = $"Welcome to {name}";
Observa que:
- el literal de string comienza con
$ - la variable name se coloca dentro de llaves
{}
Métodos de string en C#
Hay varios métodos de string en C#. Algunos de ellos son:
| Métodos | Descripción |
|---|---|
Format() | devuelve un string formateado |
Split() | divide el string en subcadenas |
Substring() | devuelve subcadena de un string |
Compare() | compara objetos string |
Replace() | reemplaza el carácter viejo especificado por el nuevo |
Contains() | verifica si el string contiene una subcadena |
Join() | une los strings dados usando el separador especificado |
Trim() | elimina espacios en blanco al inicio y final |
EndsWith() | verifica si el string termina con el string dado |
IndexOf() | devuelve la posición del carácter especificado en el string |
Remove() | devuelve caracteres de un string |
ToUpper() | convierte el string a mayúsculas |
ToLower() | convierte el string a minúsculas |
PadLeft() | devuelve string rellenado con espacios o carácter Unicode a la izquierda |
PadRight() | devuelve string rellenado con espacios o carácter Unicode a la derecha |
StartsWith() | verifica si el string comienza con el string dado |
ToCharArray() | convierte el string a array char |
LastIndexOf() | devuelve índice de la última ocurrencia de un string especificado |
Preguntas frecuentes
1. ¿Cómo crear un array de strings en C#?
Un array de strings se crea igual que un array para tipos de datos. Por ejemplo:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// array de tipo string
string[] animals = {"Monkey", "Dog", "Cat"};
// imprime elementos del array
Console.WriteLine(animals[0]);
Console.WriteLine(animals[1]);
Console.WriteLine(animals[2]);
Console.ReadLine();
}
}
}
Salida
Monkey Dog Cat
2. Diferencia entre string y String en C#
No hay diferencia técnica entre string y String. En C# string es un alias para System.String.
Se recomienda usar string ya que funciona incluso sin using System;.
Lenguaje C
- Dominando funciones de cadena en C++: strcpy, strcat, strlen, strcmp – Ejemplos prácticos
- Cadenas en C hechas fáciles: Declaración, entrada, salida y funciones de biblioteca
- Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
- Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
- Domine el Formateo de Strings en Python con format(): Ejemplos Claros
- Python len(): Guía Práctica para Medir Longitud de Objetos
- Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando representaciones String en Enums de Java
- Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
- Dominando Java String.endsWith(): Cómo comprobar sufijos de cadena con ejemplos