ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cadenas-en-c


Enviado por   •  4 de Julio de 2014  •  1.852 Palabras (8 Páginas)  •  187 Visitas

Página 1 de 8

Una cadena de C# es una matriz de caracteres que se declara utilizando la palabra clave string. Un literal de

cadena se declara utilizando las comillas, como se muestra en el siguiente ejemplo:

string s = "Hello, World!";

Puede extraer subcadenas y concatenar cadenas de la siguiente manera:

string s1 = "orange";

string s2 = "red";

s1 += s2;

System.Console.WriteLine(s1); // outputs "orangered"

s1 = s1.Substring(2, 5);

System.Console.WriteLine(s1); // outputs "anger"

Los objetos de cadena son inmutables, lo que significa que no se pueden cambiar una vez creados. Los

métodos que actúan sobre las cadenas, devuelven los nuevos objetos de cadena. En el ejemplo anterior,

cuando el contenido de s1 y s2 se concatenan para formar una sola cadena, las dos cadenas que contienen

"orange" y "red" no se modifican. El operador += crea una nueva cadena que contiene el contenido

combinado. Como resultado, s1 ahora hace referencia a una cadena totalmente diferente. Todavía existe una

cadena que sólo contiene "orange" , pero deja de hacerse referencia a ella cuando se concatena s1.

Tenga cuidado cuando cree referencias a cadenas. Si crea una referencia a una cadena y después "modifica"

la cadena, la referencia seguirá señalando al objeto original y no al nuevo objeto que se creó cuando se

modificó la cadena. Esta situación peligrosa se ilustra en el código siguiente:

string s1 = "Hello";

string s2 = s1;

s1 += " and goodbye.";

Console.WriteLine(s2); //outputs "Hello"

Carácter de escape

Los caracteres de escape como "\n" y (nueva línea) y "\t" (tabulador) se pueden incluir en cadenas. La línea:

string hello = "Hello\nWorld!";

equivale a:

Hello

World!

ToString()

Al igual que todos los objetos derivados de Object, las cadenas proporcionan el método ToString, que

convierte un valor en una cadena. Este método se puede utilizar para convertir valores numéricos en cadenas

de la siguiente manera:

int year = 1999;

string msg = "Eve was born in " + year.ToString();

System.Console.WriteLine(msg); // outputs "Eve was born in 1999"

Tener acceso a los caracteres individuales

Se obtiene acceso a los caracteres individuales contenidos en una cadena utilizando métodos como

SubString(),

Replace(),, Split() y Trim().

string s3 = "Visual C# Express";

System.Console.WriteLine(s3.Substring(7, 2)); // outputs "C#"

System.Console.WriteLine(s3.Replace("C#", "Basic")); // outputs "Visual Basic Express"

También es posible copiar los caracteres en una matriz de caracteres, tal como se muestra a continuación:

string s4 = "Hello, World";

2

char[] arr = s4.ToCharArray(0, s4.Length);

foreach (char c in arr)

{

System.Console.Write(c); // outputs "Hello, World"

}

Puede obtener acceso a los caracteres individuales de una cadena con un índice: string s5 = "Printing

backwards";

for (int i = 0; i < s5.Length; i++)

{

System.Console.Write(s5[s5.Length - i - 1]); // outputs "sdrawkcab gnitnirP"

}

Cambiar mayúsculas y minúsculas

Para cambiar las letras en una cadena a mayúsculas o minúsculas, se utiliza ToUpper() o ToLower(), de la

siguiente forma:

string s6 = "Battle of Hastings, 1066";

System.Console.WriteLine(s6.ToUpper()); // outputs "BATTLE OF HASTINGS 1066"

System.Console.WriteLine(s6.ToLower()); // outputs "battle of hastings 1066"

Comparaciones

La manera más simple de comparar dos cadenas es utilizar los operadores == y !=, que realizan una

comparación con distinción entre mayúsculas y minúsculas.

string color1 = "red";

string color2 = "green";

string color3 = "red";

if (color1 == color3)

{

System.Console.WriteLine("Equal");

}

if (color1 != color2)

{

System.Console.WriteLine("Not equal");

}

Los objetos String también tienen un método CompareTo() que devuelve un valor entero, basado en si una

cadena es menor que (<) o mayor que (>) otra. Al comparar las cadenas, se utiliza el valor Unicode, y las

minúsculas tienen un valor menor que las mayúsculas.

string s7 = "ABC";

string s8 = "abc";

if (s7.CompareTo(s8) > 0)

{

System.Console.WriteLine("Greater-than");

}

else

{

System.Console.WriteLine("Less-than");

}

Para buscar una cadena dentro de otra, utilice IndexOf(). IndexOf() devuelve -1 si la cadena de búsqueda no

se encuentra; en caso contrario devuelve el índice de la primera posición de la cadena, con base cero.

string s9 = "Battle of Hastings, 1066";

System.Console.WriteLine(s9.IndexOf("Hastings")); // outputs 10

System.Console.WriteLine(s9.IndexOf("1967")); // outputs -1

Dividir una cadena en subcadenas

3

Dividir una cadena en subcadenas (al igual que dividir una frase en palabras) es una tarea común de

programación. El método Split() toma una matriz de char de delimitadores (por ejemplo, un carácter de

espacio) y devuelve una matriz de subcadenas. Para obtener acceso a esta matriz con foreach:

char[] delimit = new char[] { ' ' };

string s10 = "The cat sat on the mat.";

foreach (string substr in s10.Split(delimit))

{

System.Console.WriteLine(substr);

}

Este código genera cada palabra en una línea separada de la siguiente forma:

The

cat

sat

on

the

mat.

Manejo de cadenas <string.h>

Recordando la presentación de arreglos hecha, en donde las cadenas están definidas como un arreglo de

caracteres o un apuntador a una porción de memoria conteniendo caracteres ASCII. Una cadena en C es una

secuencia de cero o más caracteres seguidas por un caracter NULL o \0:

Es importante preservar el caracter de terminación NULL, ya que con éste es como C define y maneja las

longitudes de las cadenas. Todas las funciones de la biblioteca estándar de C lo requieren para una

operación satisfactoria.

En general, aparte

...

Descargar como (para miembros actualizados) txt (12 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com