Translate

martes, 1 de junio de 2021

String en C#


La clase string es sumamente importante dado que los usuarios se comunican por medio de texto. String es un objeto de tipo Cadena 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 de terminación nula al final de una cadena C#; por lo tanto, una cadena C# puede contener cualquier número de caracteres nulos incrustados ('\ 0'). La propiedad Length de una cadena representa el número de objetos Char que contiene, no el número de caracteres Unicode. 

En C #, la palabra clave string es un alias de String. Por lo tanto, string y String son equivalentes, y puede usar la convención de nomenclatura que prefiera. 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 comunes de cadenas. 

Puede declarar e inicializar cadenas de varias formas, como se muestra en el siguiente ejemplo:



Los strings son inmutables: no se pueden cambiar una vez creados. Todos los métodos de cadena y los operadores de C# que parecen modificar una cadena en realidad devuelven los resultados en un nuevo objeto de cadena. En el siguiente ejemplo, cuando el contenido de s1 y s2 se concatenan para formar una sola cadena, las dos cadenas originales no se modifican. El operador += crea una nueva cadena que contiene los contenidos combinados. Ese nuevo objeto se asigna a la variable s1, y el objeto original que se asignó a s1 se libera para la recolección de basura porque ninguna otra variable tiene una referencia a él.

Debido a que una "modificación" de cadena es en realidad una nueva creación de cadena, se debe tener cuidado al crear referencias a cadenas. Si crea una referencia a una cadena y luego "modifica" la cadena original, la referencia seguirá apuntando al objeto original en lugar del nuevo objeto que se creó cuando se modificó la cadena. El siguiente código ilustra este comportamiento:



Se debe utilizar el carácter "\" cuando tengamos que usar caracteres especiales, como se muestra en el siguiente ejemplo:


Utilice cadenas textuales para mayor comodidad y mejor legibilidad cuando el texto de la cadena contiene caracteres de barra invertida, por ejemplo, en las rutas de archivo. Dado que las cadenas textuales conservan los caracteres de nueva línea como parte del texto de la cadena, se pueden utilizar para inicializar cadenas de varias líneas. Utilice comillas dobles para insertar una comilla dentro de una cadena literal. El siguiente ejemplo muestra algunos usos comunes de cadenas textuales:


Dejo link: https://docs.microsoft.com/en-us/dotnet/api/system.string?view=net-5.0