German Pinilla
++STRINGS EN C#++
Cadenas y literales de cadena
Una cadena es un objeto de tipo String cuyo valor es texto. Internamente, el texto se almacena como una colección secuencial de solo lectura de objetos Char. No hay ningún carácter que finalice en NULL al final de una cadena de C#; por lo tanto, la cadena de C# puede contener cualquier número de caracteres nulos insertados ("\0"). La propiedad Length de una cadena representa el número de objetos Char que contiene, no el número de caracteres Unicode. Para obtener acceso a los puntos de código Unicode individuales de una cadena, use el objeto StringInfo.
++Cadena frente System.String++
En C#, la palabra clave string es un alias de String. Por lo tanto, String y string son equivalentes, aunque se recomienda usar el alias proporcionado string, ya que funciona incluso sin using System;. La clase String proporciona muchos métodos para crear, manipular y comparar cadenas de forma segura. Además, el lenguaje C# sobrecarga algunos operadores para simplificar las operaciones de cadena comunes.
- Ejemplos de como manipular strings
/* ***** Ejemplo 1 ***** */ // Concatenacion de variables para crear un string mas amplio al final con el operador + string number = "1"; string street = "Palo Alto St"; string city = "California"; string address = street + " " + number + " " + city; Console.WriteLine(address); // OUTPUT: Palo Alto St 1 California
/* ***** Ejemplo 2 ***** */ string adress1 = ""; // string.empty Console.WriteLine(adress1); // Console vacio bool isEmpty; // Validacion de string vacio con string.Empty if (adress1 == string.Empty) isEmpty = true; else isEmpty = false; Console.WriteLine(isEmpty); // OUTPUT: // OUTPUT: True
/* ***** Ejemplo 3 ***** */ string adress2 = ""; // string.empty Console.WriteLine(adress2); bool isEmpty2; // Validacion de string vacio con string.IsNullOrEmpty => Es recomendado usar esta funcion para validar if (string.IsNullOrEmpty(adress2)) isEmpty2 = true; else isEmpty2 = false; Console.WriteLine(isEmpty2); // OUTPUT: // OUTPUT: True
/* ***** Ejemplo 5 ***** */ string adress4 = " California"; // Esta funcion no solo valida si la cadena es vacia, tambien tambien valida los espacios de la cadena con string.IsNullOrWhiteSpace("lo que sea") bool validAddress1 = string.IsNullOrWhiteSpace(adress4); Console.WriteLine(validAddress1); // OUTPUT: True
/* ***** Ejemplo 6 ***** */ string textoDeEscape = "Para saber que \"Cambios\" podemos realizar."; // En este caso para escapar las comillas usamos el backslash \ // Escapar caracteres especiales en strings con backslash - En este casoe scapamos las comillas en "Cambios" Console.WriteLine(textoDeEscape); // OUTPUT: Para saber que "Cambios" podemos realizar.
/* ***** Ejemplo 7 ***** */ // Si quisieramos escribir en un string \Usuarios\German\Documentos\Datos tendriamos que escapar cada backslach con otro backslash antecedido string rutaDatos = "\\Usuarios\\German\\Documentos\\Datos"; // \\string Console.WriteLine(rutaDatos);
/* ***** Ejemplo 8 ***** */ // Con arroba @ podemos escapar todos loscaracteres especiales de un string string rutaAlterna = @"\Usuarios\OtrosUsuarios\Publico\Documentos\Datos"; Console.WriteLine(rutaAlterna); // OUTPUT: \Usuarios\OtrosUsuarios\Publico\Documentos\Datos
/* ***** Ejemplo 9 ***** */ // Usando string interpolation string number = "1"; string street = "Palo Alto St"; string city = "California"; string location2 = $"{street} {number} {city}"; Console.WriteLine(location2); // OUTPUT: Palo Alto St 1 California
/* ***** Ejemplo 10 ***** */ string number = "1"; string street = "Palo Alto St"; string city = "California"; // Concatenando variables de tipo string con string.Format. Cada indice define la posicion del string en su orden string location3 = string.Format("{0} {1} {2}", street, number, city); Console.WriteLine(location3); // OUTPUT:
