C #: cadenas
En C #, puede usar cadenas como una matriz de caracteres, sin embargo, la práctica más común es usar el stringpalabra clave para declarar una variable de cadena. La palabra clave de cadena es un alias paraSystem.String clase.
Crear un objeto de cadena
Puede crear un objeto de cadena utilizando uno de los siguientes métodos:
Asignando un literal de cadena a una variable de cadena
Usando un constructor de clase String
Utilizando el operador de concatenación de cadenas (+)
Recuperando una propiedad o llamando a un método que devuelve una cadena
Al llamar a un método de formato para convertir un valor o un objeto en su representación de cadena
El siguiente ejemplo demuestra esto:
using System;
namespace StringApplication {
class Program {
static void Main(string[] args) {
//from string literal and string concatenation
string fname, lname;
fname = "Rowan";
lname = "Atkinson";
char []letters= { 'H', 'e', 'l', 'l','o' };
string [] sarray={ "Hello", "From", "Tutorials", "Point" };
string fullname = fname + lname;
Console.WriteLine("Full Name: {0}", fullname);
//by using string constructor { 'H', 'e', 'l', 'l','o' };
string greetings = new string(letters);
Console.WriteLine("Greetings: {0}", greetings);
//methods returning string { "Hello", "From", "Tutorials", "Point" };
string message = String.Join(" ", sarray);
Console.WriteLine("Message: {0}", message);
//formatting method to convert a value
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);
}
}
}
Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:
Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
Propiedades de la clase String
La clase String tiene las siguientes dos propiedades:
No Señor. | Descripción de propiedad |
---|---|
1 | Chars Obtiene el objeto Char en una posición especificada en el objeto String actual . |
2 | Length Obtiene el número de caracteres del objeto String actual. |
Métodos de la clase String
La clase String tiene numerosos métodos que le ayudan a trabajar con los objetos de cadena. La siguiente tabla proporciona algunos de los métodos más utilizados:
No Señor. | Métodos y descripción |
---|---|
1 | public static int Compare(string strA, string strB) Compara dos objetos de cadena especificados y devuelve un número entero que indica su posición relativa en el orden de clasificación. |
2 | public static int Compare(string strA, string strB, bool ignoreCase ) Compara dos objetos de cadena especificados y devuelve un número entero que indica su posición relativa en el orden de clasificación. Sin embargo, ignora las mayúsculas y minúsculas si el parámetro booleano es verdadero. |
3 | public static string Concat(string str0, string str1) Concatena dos objetos de cadena. |
4 | public static string Concat(string str0, string str1, string str2) Concatena tres objetos de cuerda. |
5 | public static string Concat(string str0, string str1, string str2, string str3) Concatena cuatro objetos de cuerda. |
6 | public bool Contains(string value) Devuelve un valor que indica si el objeto String especificado ocurre dentro de esta 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 del objeto String a una posición especificada en una matriz de caracteres Unicode. |
9 | public bool EndsWith(string value) Determina si el final del objeto de cadena coincide con la cadena especificada. |
10 | public bool Equals(string value) Determina si el objeto String actual y el objeto String especificado tienen el mismo valor. |
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 una cadena especificada con la representación de cadena de un objeto especificado. |
13 | public int IndexOf(char value) Devuelve el índice de base cero de la primera aparición del carácter Unicode especificado en la cadena actual. |
14 | public int IndexOf(string value) Devuelve el índice de base cero de la primera aparición de la cadena especificada en esta instancia. |
15 | public int IndexOf(char value, int startIndex) Devuelve el índice de base cero de la primera aparición del carácter Unicode especificado en esta cadena, iniciando la búsqueda en la posición del carácter especificado. |
dieciséis | public int IndexOf(string value, int startIndex) Devuelve el índice de base cero de la primera aparición de la cadena especificada en esta instancia, comenzando la búsqueda en la posición del carácter especificado. |
17 | public int IndexOfAny(char[] anyOf) Devuelve el índice de base cero de la primera aparición en esta instancia de cualquier carácter en una matriz especificada de caracteres Unicode. |
18 | public int IndexOfAny(char[] anyOf, int startIndex) Devuelve el índice de base cero de la primera aparición en esta instancia de cualquier carácter en una matriz especificada de caracteres Unicode, comenzando la búsqueda en la posición del carácter especificado. |
19 | public string Insert(int startIndex, string value) Devuelve una nueva cadena en la que se inserta una cadena especificada en una posición de índice especificada en el objeto de cadena actual. |
20 | public static bool IsNullOrEmpty(string value) Indica si la cadena especificada es nula o una cadena vacía. |
21 | public static string Join(string separator, params string[] value) Concatena todos los elementos de una matriz de cadenas, utilizando el separador especificado entre cada elemento. |
22 | public static string Join(string separator, string[] value, int startIndex, int count) Concatena los elementos especificados de una matriz de cadenas, utilizando el separador especificado entre cada elemento. |
23 | public int LastIndexOf(char value) Devuelve la posición del índice de base cero de la última aparición del carácter Unicode especificado dentro del objeto de cadena actual. |
24 | public int LastIndexOf(string value) Devuelve la posición del índice de base cero de la última aparición de una cadena especificada dentro del objeto de cadena actual. |
25 | public string Remove(int startIndex) Elimina todos los caracteres de la instancia actual, comenzando en una posición especificada y continuando hasta la última posición, y devuelve la cadena. |
26 | public string Remove(int startIndex, int count) Elimina el número especificado de caracteres en la cadena actual que comienza en una posición especificada y devuelve la cadena. |
27 | public string Replace(char oldChar, char newChar) Reemplaza todas las apariciones de un carácter Unicode especificado en el objeto de cadena actual con el carácter Unicode especificado y devuelve la nueva cadena. |
28 | public string Replace(string oldValue, string newValue) Reemplaza todas las apariciones de una cadena especificada en el objeto de cadena actual con la cadena especificada y devuelve la nueva cadena. |
29 | public string[] Split(params char[] separator) Devuelve una matriz de cadenas que contiene las subcadenas del objeto de cadena actual, delimitadas por elementos de una matriz de caracteres Unicode especificada. |
30 | public string[] Split(char[] separator, int count) Devuelve una matriz de cadenas que contiene las subcadenas del objeto de cadena actual, delimitadas por elementos de una 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 comienzo de esta instancia de cadena coincide con la cadena especificada. |
32 | public char[] ToCharArray() Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto de cadena actual. |
33 | public char[] ToCharArray(int startIndex, int length) Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto de cadena actual, comenzando desde el índice especificado y hasta la longitud especificada. |
34 | public string ToLower() Devuelve una copia de esta cadena convertida a minúsculas. |
35 | public string ToUpper() Devuelve una copia de esta cadena convertida a mayúsculas. |
36 | public string Trim() Elimina todos los caracteres de espacios en blanco iniciales y finales del objeto String actual. |
Puede visitar la biblioteca MSDN para obtener la lista completa de métodos y constructores de clases String.
Ejemplos
El siguiente ejemplo demuestra algunos de los métodos mencionados anteriormente:
Comparación de cadenas
using System;
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 se compila y ejecuta el código anterior, produce el siguiente resultado:
This is test and This is text are not equal.
Cadena contiene cadena
using System;
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 se compila y ejecuta el código anterior, produce el siguiente resultado:
The sequence 'test' was found.
Obtener una subcadena
using System;
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);
}
}
}
Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:
San Pedro
Unir cadenas
using System;
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);
}
}
}
Cuando se compila y ejecuta el código anterior, 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 stop