// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: AsignacionMemoriaStringBuilder.cs // // Propósito: Demostración del uso dinámico de memoria por // parte de StringBuilder. // ============================================================*/ using System; using System.Reflection; using System.Text; namespace Articulos.Cap06 { public class AsignacionMemoriaStringBuilder { /// /// Muestra información asociada a un objeto StringBuilder /// public static void InformacionObjetoStringBuilder(StringBuilder sb) { foreach (var propiedad in sb.GetType().GetProperties()) { if (propiedad.GetIndexParameters().Length == 0) { Console.Write("{0}: {1:N0} ", propiedad.Name, propiedad.GetValue(sb)); } } Console.WriteLine(); } public static void Main() { // Instanciación de un objeto StringBuilder StringBuilder objSB = new StringBuilder(); // Estado actual del objeto StringBuilder InformacionObjetoStringBuilder(objSB); objSB.Append("Es esta es una frase."); // Nuevo estado del objeto StringBuilder InformacionObjetoStringBuilder(objSB); for (int i = 0; i <= 10; ++i) { objSB.Append("Texto adicional."); InformacionObjetoStringBuilder(objSB); } } } }