string s = "Hola, Mundo!";
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.
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 = "Hola\nMundo!";
equivale a:
Hola
Mundo!
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"
por ahora solo nos interesa la mecánica para trabajar con cadenas de caracteres. Para ello veremos algunos ejemplos para el uso de cadena de caracteres
Ejercicios Resueltos de Cadena de Caracteres en C#
Ejemplo 1
Realizar un programa que nos pida dos nombres por el teclado y que los compare si son iguales o no
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
CadenaDeCaracteres
{
class Program
{
static void Main(string[]
args)
{
string nombre1, nombre2;
Console.Write("Ingrese
primer nombre:");
nombre1 = Console.ReadLine();
Console.Write("Ingrese
segundo nombre:");
nombre2 = Console.ReadLine();
if (nombre1 == nombre2)
{
Console.Write("Los nombres son iguales");
}
else
{
Console.Write("Los nombres son distintos");
}
Console.ReadKey();
}
}
}
Ejemplo 2
Realizar un programa que permita el ingreso del nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace CadenaDeCaracteres
{
class Program
{
static void Main(string[]
args)
{
String nombre1, nombre2;
int edad1, edad2;
String linea;
Console.Write("Ingrese
el nombre 1:");
nombre1 = Console.ReadLine();
Console.Write("Ingrese
edad 1:");
linea = Console.ReadLine();
edad1 = int.Parse(linea);
Console.Write("Ingrese
el nombre 2:");
nombre2 = Console.ReadLine();
Console.Write("Ingrese
edad 2:");
linea = Console.ReadLine();
edad2 = int.Parse(linea);
if (edad1 > edad2)
{
Console.Write("La persona de mayor edad es:"+nombre1);
}
else
{
Console.Write("La persona de mayor edad es:"+nombre2);
}
Console.ReadKey();
}
}
}
Ejemplo 3
Realizar un programa que permita el ingreso del apellido, nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace CadenaDeCaracteres
{
class Program
{
static void Main(string[]
args)
{
string
apenom1, apenom2;
int
edad1, edad2;
string
linea;
Console.Write("Ingrese apellido
y nombre 1:");
apenom1 = Console.ReadLine();
Console.Write("Ingrese
edad 1:");
linea = Console.ReadLine();
edad1 = int.Parse(linea);
Console.Write("Ingrese
apellido y nombre 2:");
apenom2 = Console.ReadLine();
Console.Write("Ingrese
edad 2:");
linea = Console.ReadLine();
edad2 = int.Parse(linea);
Console.Write("La
persona de mayor edad es:");
if (edad1 > edad2)
{
Console.Write(apenom1);
}
else
{
Console.Write(apenom2);
}
Console.ReadKey();
}
}
}
No hay comentarios:
Publicar un comentario