manejo de cadenas en c# - itnuevolaredo.edu.mx

14
Fundamentos de Programación Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.mx/Takeyas 1 MANEJO DE CADENAS EN C# 2 1 2

Upload: others

Post on 29-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 1

MANEJO DE CADENASEN C#

2

1

2

Page 2: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 2

CADENAS (STRINGS)

�Secuencia de caracteres que se puedeconsiderar como un arreglo de caracteres

�Ejemplo:

string strEscuela = “Tec Laredo”;

3

CADENAS VERBATIM� Una cadena puede contener secuencias de escape:

string x = “\x0041BCDE\a”;

Console.WriteLine(x); // Imprime ABCDE

• A una cadena Verbatim se le antepone un @

string y = @“\x0041BCDE\a”;

Console.WriteLine(y);

// Imprime \x0041BCDE\a

4

3

4

Page 3: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 3

ASIGNACIÓN DE CADENAS CON EL OPERADOR =� En C# se pueden asignar cadenas con el operador = (lo

que no se podía con los arreglos de caracteres en C++, solamente con los apuntadores de caracteres)

string s1 = “Tec Laredo”, s2;

s2 = s1;

Console.WriteLine(s2); // Tec Laredo

5

COMPARACIÓN DE CADENAS CON EL OPERADOR ==

� En C# se pueden comparar cadenas con el operador == (lo que no se podía con los arreglos de caracteres en C++, solamente con los apuntadores de caracteres)

string s1 = “Tec Laredo”, s2=“Tec Laredo”;

if(s1 == s2)

Console.WriteLine(“Son iguales”);

else

Console.WriteLine(“No son iguales”);

6

5

6

Page 4: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 4

COMPARACIÓN DE CADENAS CON EL MÉTODO Equals()

�Método Equals()

string s1 = “Tec”, s2=“Tec”;

if( s1.Equals(s2) )

Console.WriteLine(“Son iguales”);

else

Console.WriteLine(“No son iguales”);

7

COMPARACIÓN DE CADENAS CON EL MÉTODO CompareTo()

� Método CompareTo()string Cadena1, Cadena2;int Resultado;

Resultado = Cadena1.CompareTo(Cadena2);

switch (Resultado){

case -1: Console.Write(Cadena1 + " < " + Cadena2); break;

case 0 : Console.Write(Cadena1 + " = " + Cadena2); break;

case 1: Console.Write(Cadena1 + " > " + Cadena2); break;}

8

7

8

Page 5: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 5

EDICIÓN DE CADENAS

�Las cadenas pueden ser tratadas como un arreglo de caracteres

string s1 = “Tec”;

char primer_caracter;

primer_caracter = s1[0]; // ‘T’

Console.WriteLine(primer_caracter);

9

SUBCADENAS

�Método Substring()

string s1 = “Tec”, s2;

s2 = s1.Subtring(1,2);

Console.WriteLine(s2); // s2 = “ec”

10

9

10

Page 6: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 6

LONGITUD DE CADENAS

�Propiedad Length

string s = “Tec Laredo”;

Console.WriteLine(“Longitud=“+s.Length);

// Longitud = 10

�El espacio en blanco cuenta como un caracter

11

MAYÚSCULAS Y MINÚSCULAS

�Métodos ToUpper() y ToLower()

string s = “Tec Laredo”;

s = s.ToUpper();

Console.WriteLine(s); // TEC LAREDO

s = s.ToLower();

Console.WriteLine(s); // tec laredo

12

11

12

Page 7: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 7

ELIMINACIÓN DE ESPACIOS DE CADENAS (TRIMMING)

�Método Trim()

�Elimina los espacios en blanco al principio y al final

string s = “ Tec Laredo ”;

s = s.Trim();

Console.WriteLine(s); //Tec Laredo

13

CONCATENACIÓN DE CADENAS

�Agregar una cadena al final de otra

string s1 = “Tec”, s2 = “Laredo”;

s1 = s1 + s2;

Console.WriteLine(s1);// TecLaredo

14

13

14

Page 8: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 8

MÉTODOS DE CADENAS�string strEscuela = “Tec Laredo”;

�Buscar una cadena

if(strEscuela.Contains(“Tec”))

�Conocer la cadena con la que empieza

if(strEscuela.StartsWith(“T”))

�Conocer la cadena con la que termina

if(strEscuela.EndsWith(“.”))

15

GENERAR CADENAS ALEATORIAS

string strCadena = Guid.NewGuid().ToString().Substring(0,Longitud);

16

La variable Longitud

representa el tamaño de la cadena

15

16

Page 9: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 9

CARACTERES UNICODE

�El Unicode proporciona un estándar de codificación de caracteres y símbolos a nivelmundial

� Incluye el conjunto de caracteres ASCII

�En ASCII, cada caracter requiere 1 byte (quecontiene 0’s y 1’s) y se representa con un número entre 0 y 255; por lo tanto, sólo tiene256 caracteres (representa una parte del conjunto de símbolos a nivel mundial)

17

CARACTERES UNICODE (cont)�El Estándar Unicode codifica todos los

caracteres y símbolos en un rango de 0 a 10FFFF hexadecimal

�Consultar www.unicode.org

�Existen 3 formatos:

�UTF-8 (8 bits)

�UTF-16 (16 bits)

�UTF-32 (32 bits)

�Visual Studio .NET usa UTF-16 pararepresentar todos los caracteres

18

17

18

Page 10: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 10

USO DE CARACTERES UNICODE� Usar \u y el código hexadecimal del símbolo

�Console.Write(“\u00D1”); // Ñ

�Console.Write(“\u00E1”); // á

�Console.Write(“\u00C1”); // Á

�Console.Write(“\u00DF”); // ß

�Console.Write(“\u00BE”); // ¾

�Console.Write(“\u2557”); // ╗

�Console.Write(“\u263A”); // ☺

�Console.Write(“\u2660”); // ♠

19

FORMATO NUMÉRICO� { N, M : Formato }

� N = Número de parámetro

� M = Ancho y justificación del dato

� Formato = Especifica cómo se mostrará el datonumérico

20

Formato Descripción

C Moneda (currency)

D Decimal entero

E Exponencial (notación científica)

F Flotante

N Despliega el número con comas separadoras

X Hexadecimal

P Porcentaje

19

20

Page 11: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 11

FORMATO NUMÉRICO

21

Sentencia Salida

Console.WriteLine(“ {0:C} ”,12345.6789); $12,345.68

Console.WriteLine(“ {0:D5} “, 88); 00088

Console.WriteLine(“ {0:E} “, 888.8); 8.888000E+002

Console.WriteLine(“ {0:F3} “, 888.8888); 888.889

Console.WriteLine(“ {0,8:F2} “, 145.3); 145.30

Console.WriteLine(“ {0:N} “, 8888888.8); 8,888,888.80

Console.WriteLine(“ {0:X4} “, 88); 0058

Console.WriteLine(“ {0:P} “, 0.12345); 12.35%

JUSTIFICACIÓN

� Justificar a la izquierda con 10 espacios� Console.WriteLine( “{ 0 , -10 }”, x);

� Justificar a la derecha con 10 espacios� Console.WriteLine( “{ 0 , 10 }”, x);

22

21

22

Page 12: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 12

ALINEACIÓN DE DATOS� Implementar el método PadRight

Console.Write(unEmpleado.Numero.ToString().PadRight(6,‘ ‘)+

" "+unEmpleado.Nombre.PadRight(30, ‘ ‘)+

" "+unEmpleado.Sueldo.ToString("C"));

23

COLOCAR EL CURSOR

� Para colocar el cursor en la pantalla utilice el método SetCursorPosition( )

Console.SetCursorPosition(columna, renglon);

� Ejemplo

Console.SetCursorPosition(40, 12);

Console.Write(“Hola”);

24

23

24

Page 13: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 13

PROPIEDADES Y MÉTODOS DE LA CONSOLA

�Cambiar el color del fondoConsole.BackgroundColor = ConsoleColor.Red;

Console.Clear();

�Cambiar el color del textoConsole.ForegroundColor = ConsoleColor.Yellow;

Console.Write(“Tec Laredo”);

�Desaparecer el cursorConsole.CursorVisible = false;

25

PROPIEDADES Y MÉTODOS DE LA CONSOLA

�Cambiar la etiqueta de la ventana de la consola

Console.Title = “Tec Laredo”;

�Emitir sonidoConsole.Beep(frecuencia, duracion);

�Aparecer el cursor

Console.CursorVisible = true;

26

25

26

Page 14: MANEJO DE CADENAS EN C# - itnuevolaredo.edu.mx

Fundamentos de Programación

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 14

Otros títulos del autor

http://www.itnuevolaredo.edu.mx/Takeyas/Libro

Bruno López [email protected]

27