C# Cadena (String)
En C#, puede utilizar matrices de caracteres para representar cadenas, pero la práctica más común es utilizarstringla palabra clave para declarar una variable de cadena. La palabra clave string esSystem.Stringun alias de la clase.
Crear un objeto String
Puede crear un objeto string utilizando uno de los siguientes métodos:
- Asignando una cadena a una variable String
- Utilizando el constructor de la clase String
- Utilizando el operador de concatenación de cadenas (+)
- Recuperando una propiedad o llamando a un método que devuelve una cadena
- Utilizando un método de formato para convertir un valor u objeto en su representación de cadena
El siguiente ejemplo demuestra esto:
Ejemplo
namespace StringApplication
{
class Program
{
static void Main(string[] args)
{
//Cadena, concatenación de cadenas
string fname, lname;
fname = "Rowan";
lname = "Atkinson";
string fullname = fname + lname;
Console.WriteLine("Full Name: {0}", fullname);
//Usando el constructor string
char[] letters = { 'H', 'e', 'l', 'l','o' };
string greetings = new string(letters);
Console.WriteLine("Greetings: {0}", greetings);
//El método devuelve una cadena
string[] sarray = { "Hello", "From", "Tutorials", "Point" };
string message = String.Join(" ", sarray);
Console.WriteLine("Message: {0}", message);
//Método de formato para convertir valores
DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Message sent at {0:t} on {0:D}",
waiting);
Console.WriteLine("Message: {0}", chat);
Console.ReadKey() ;
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 17:58 on Wednesday, 10 October 2012
Propiedades de la clase String
La clase String tiene las siguientes dos propiedades:
| N.º | Nombre de la propiedad & descripción |
|---|---|
| 1 | Chars En elStringobjeto, obtenerCharla posición especificada del objeto. |
| 2 | Length En el actualStringobjeto, obtener el número de caracteres. |
Métodos de la clase String
La clase String tiene muchos métodos para operar con objetos string. La siguiente tabla proporciona algunos de los métodos más utilizados:
| N.º | Nombre del método & descripción |
|---|---|
| 1 | public static int Compare(
string strA,
string strB
)
Compara dos objetos string especificados y devuelve un entero que indica su posición relativa en el orden de clasificación. Este método distingue entre mayúsculas y minúsculas. |
| 2 | public static int Compare(
string strA,
string strB,
bool ignoreCase
)
Compara dos objetos string especificados y devuelve un entero que indica su posición relativa en el orden de clasificación. Sin embargo, si el parámetro booleano es verdadero, el método no distingue entre mayúsculas y minúsculas. |
| 3 | public static string Concat(
string str0,
string str1
)
Concatena dos objetos string. |
| 4 | public static string Concat(
string str0,
string str1,
string str2
)
Concatena tres objetos string. |
| 5 | public static string Concat(
string str0,
string str1,
string str2,
string str3
)
Concatena cuatro objetos string. |
| 6 | public bool Contains(
string value
)
Devuelve un valor que indica si un objeto string especificado aparece en la cadena. |
| 7 | public static string Copy(
string str
)
Crea un nuevo objeto String con el mismo valor que la cadena especificada. |
| 8 | public void CopyTo(
int sourceIndex,
char[] destination,
int destinationIndex,
int count
)
Copia un número especificado de caracteres desde una posición especificada en un objeto string a una posición especificada en una matriz de caracteres Unicode. |
| 9 | public bool EndsWith(
string value
)
Determina si el final de un objeto string coincide con la cadena especificada. |
| 10 | public bool Equals(
string value
)
Determina si el objeto string actual tiene el mismo valor que el objeto string especificado. |
| 11 | public static bool Equals(
string a,
string b
)
Determina si dos objetos string especificados tienen el mismo valor. |
| 12 | public static string Format(
string format,
Object arg0
)
Reemplaza uno o más elementos de formato en la cadena especificada por la representación de cadena del objeto especificado. |
| 13 | public int IndexOf(
char value
)
Devuelve el índice de la primera aparición del carácter Unicode especificado en la cadena actual, comenzando desde 0. |
| 14 | public int IndexOf(
string value
)
Devuelve el índice de la primera aparición de la cadena especificada en esta instancia, comenzando desde 0. |
| 15 | public int IndexOf(
char value,
int startIndex
)
Devuelve el índice de la primera aparición del carácter Unicode especificado, buscando desde una posición de carácter especificada en esta cadena, comenzando desde 0. |
| 16 | public int IndexOf(
string value,
int startIndex
)
Devuelve el índice de la primera aparición de la cadena especificada, buscando desde una posición de carácter especificada en esta instancia, comenzando desde 0. |
| 17 | public int IndexOfAny(
char[] anyOf
)
Devuelve el índice de la primera aparición de cualquier carácter de una matriz de caracteres Unicode especificada en esta instancia, comenzando desde 0. |
| 18 | public int IndexOfAny(
char[] anyOf,
int startIndex
)
Devuelve el índice de la primera aparición de cualquier carácter de una matriz de caracteres Unicode especificada, buscando desde una posición de carácter especificada en esta instancia, comenzando desde 0. |
| 19 | public string Insert(
int startIndex,
string value
)
Devuelve una nueva cadena en la que la cadena especificada se inserta en la posición de índice especificada del objeto string actual. |
| 20 | public static bool IsNullOrEmpty(
string value
)
Indica si la cadena especificada es null o una cadena vacía. |
| 21 | public static string Join(
string separator,
string[] value
)
Concatena todos los elementos de una matriz de cadenas, usando el separador especificado para separar cada elemento. |
| 22 | public static string Join(
string separator,
string[] value,
int startIndex,
int count
)
Concatena los elementos especificados de una matriz de cadenas a partir de una posición especificada, usando el separador especificado para separar cada elemento. |
| 23 | public int LastIndexOf(
char value
)
Devuelve la posición de índice de la última aparición del carácter Unicode especificado en el objeto string actual, comenzando desde 0. |
| 24 | public int LastIndexOf(
string value
)
Devuelve la posición de índice de la última aparición de la cadena especificada en el objeto string actual, comenzando desde 0. |
| 25 | public string Remove(
int startIndex
)
Elimina todos los caracteres de la instancia actual, desde la posición especificada hasta la última posición, y devuelve la cadena. |
| 26 | public string Remove(
int startIndex,
int count
)
Elimina un número especificado de caracteres desde una posición especificada de la cadena actual y devuelve la cadena. |
| 27 | public string Replace(
char oldChar,
char newChar
)
Reemplaza todos los caracteres Unicode especificados en el objeto string actual por otro carácter Unicode especificado y devuelve una nueva cadena. |
| 28 | public string Replace(
string oldValue,
string newValue
)
Reemplaza todas las cadenas especificadas en el objeto string actual por otra cadena especificada y devuelve una nueva cadena. |
| 29 | public string[] Split(
params char[] separator
)
Devuelve una matriz de cadenas que contiene las subcadenas del objeto string actual, separadas por elementos de la matriz de caracteres Unicode especificada. |
| 30 | public string[] Split(
char[] separator,
int count
)
Devuelve una matriz de cadenas que contiene las subcadenas del objeto string actual, separadas por elementos de la matriz de caracteres Unicode especificada. El parámetro int especifica el número máximo de subcadenas a devolver. |
| 31 | public bool StartsWith(
string value
)
Determina si el inicio de la instancia de cadena coincide con la cadena especificada. |
| 32 | public char[] ToCharArray() Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto string actual. |
| 33 | public char[] ToCharArray(
int startIndex,
int length
)
Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto string actual, desde el índice especificado hasta la longitud especificada. |
| 34 | public string ToLower() Convierte la cadena a minúsculas y la devuelve. |
| 35 | public string ToUpper() Convierte la cadena a mayúsculas y la devuelve. |
| 36 | public string Trim() Elimina todos los caracteres de espacio en blanco iniciales y finales del objeto String actual. |
La lista de métodos anterior no es exhaustiva. Visite la biblioteca MSDN para ver la lista completa de métodos y los constructores de la clase String.
Ejemplo
El siguiente ejemplo demuestra algunos de los métodos mencionados anteriormente:
Comparar cadenas
Ejemplo
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0)
{
Console.WriteLine(str1 + " and " + str2 + " are equal.");
}
else
{
Console.WriteLine(str1 + " and " + str2 + " are not equal.");
}
Console.ReadKey() ;
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
This is test and This is text are not equal.
Cadena contiene cadena:
Ejemplo
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str = "This is test";
if (str.Contains("test"))
{
Console.WriteLine("The sequence 'test' was found.");
}
Console.ReadKey() ;
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
The sequence 'test' was found.
Obtener subcadena:
Ejemplo
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str = "Last night I dreamt of San Pedro";
Console.WriteLine(str);
string substr = str.Substring(23);
Console.WriteLine(substr);
Console.ReadKey() ;
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Last night I dreamt of San Pedro San Pedro
Concatenar cadenas:
Ejemplo
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string[] starray = new string[]{"Down the way nights are dark",
"And the sun shines daily on the mountain top",
"I took a trip on a sailing ship",
"And when I reached Jamaica",
"I made a stop"};
string str = String.Join("\n", starray);
Console.WriteLine(str);
Console.ReadKey() ;
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stopOtras extensiones