Popular Post

Posted by : Unknown martes, 17 de junio de 2014

Los objetos de cadena son inmutables, es decir, no pueden modificarse una vez creados. Todos los métodos String y los operadores de C# que parecen modificar una cadena, en realidad devuelven los resultados en un nuevo objeto de cadena. En el ejemplo siguiente, cuando el contenido de s1 y s2 se concatena para formar una sola cadena, las dos cadenas originales no se modifican. El operador += crea una nueva cadena que contiene el contenido combinado. Ese nuevo objeto se asigna a la variable s1 y el objeto original asignado a s1 se libera para la recolección de elementos no utilizados, ya que ninguna otra variable contiene una referencia a él.
string s1 = "A string is more ";
string s2 = "than the sum of its chars.";

// Concatenate s1 and s2. This actually creates a new
// string object and stores it in s1, releasing the
// reference to the original object.
s1 += s2;

System.Console.WriteLine(s1);
// Output: A string is more than the sum of its chars.


Dado que "modificar" una cadena consiste en realidad en crear una cadena nueva, debe actuar con precaución al crear referencias a las cadenas. Si crea una referencia a una cadena y después "modifica" la cadena original, la referencia seguirá señalando al objeto original en lugar de al nuevo objeto que se creó cuando se modificó la cadena. En el siguiente código se muestra este comportamiento:
string s1 = "Hello ";
string s2 = s1;
s1 += "World";

System.Console.WriteLine(s2);
//Output: Hello


Para obtener más información sobre cómo crear cadenas nuevas basadas en modificaciones como operaciones de búsqueda y reemplazo en la cadena original.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Programación #5 - Date A Live - Powered by Blogger - Designed by Johanes Djogan -