Constructor de strings en C#

C# StringBuilder es similar a Java StringBuilder . Un objeto String es inmutable, es decir, una string no se puede cambiar una vez creada. Cada vez que usa cualquiera de los métodos de la clase System.String , crea un nuevo objeto de string en la memoria. Por ejemplo, una string «GeeksForGeeks» ocupa memoria en el montón, ahora, al cambiar la string inicial » GeeksForGeeks » a » GFG » se creará un nuevo objeto de string en el montón de memoria en lugar de modificar la string inicial en la misma ubicación de memoria. En situaciones en las que necesita realizar modificaciones repetidas en una string, necesitamos StringBuilderclase. Para evitar el reemplazo, la adición, la eliminación o la inserción de strings nuevas en la string inicial, C# introduce el concepto StringBuilder . StringBuilder es un objeto dinámico . No crea un nuevo objeto en la memoria, sino que expande dinámicamente la memoria necesaria para acomodar la string nueva o modificada.

Declaración e inicialización de StringBuilder

StringBuilder se puede declarar e inicializar de la misma manera que la clase,

StringBuilder s = new StringBuilder();
            
or

StringBuilder s = new StringBuilder("GeeksforGeeks");

«s» es el objeto de la clase StringBuilder . Además, podemos pasar un valor de string (aquí «GeeksforGeeks») como argumento al constructor de StringBuilder.

Definición de la capacidad de StringBuilder

Aunque StringBuilder es un objeto dinámico que le permite expandir la cantidad de caracteres en la string que encapsula, puede especificar un valor para la cantidad máxima de caracteres que puede contener. Este valor se denomina capacidad del objeto StringBuilder .

StringBuilder s = new StringBuilder(20);

or

StringBuilder s = new StringBuilder("GeeksForGeeks", 20);

Aquí,

  • En la primera declaración, pasamos un valor entero como argumento al constructor. Esta es la capacidad máxima de caracteres que puede contener una string.
  • En la segunda declaración, pasamos el valor de la string con un valor entero (que es la capacidad máxima de caracteres que puede contener una string) como argumento para el constructor.

.

Métodos importantes de la clase StringBuilder:

  • Agregar (valor de string)
  • AppendFormat()
  • Insertar (índice int, valor de string)
  • Eliminar (inicio int, longitud int)
  • Reemplazar (antiguo_valor, nuevo|_valor)

Método StringBuilder.Append (valor de string)

El método Append se puede usar para agregar o agregar un valor de string de un objeto al final de una string representada por el objeto StringBuilder actual . El método AppendLine() también se incluye en este método. Este método agrega la string con una nueva línea al final.

Ejemplo:

// C# program to demonstrate the 
// StringBuilder.Append(value) and
// StringBuilder.AppendLine(value) method
using System;
using System.Text;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // "20" is capacity
        StringBuilder s = new StringBuilder("HELLO ", 20);
          
        s.Append("GFG");
  
        // after printing "GEEKS"
        // a new line append
        s.AppendLine("GEEKS");
          
        s.Append("GeeksForGeeks");
        Console.WriteLine(s);
    }
}
Producción:

HELLO GFGGEEKS
GeeksForGeeks

StringBuilder.AppendFormat()

Este método se usa para formatear la string de entrada en el formato especificado y luego agregarlo. Este método también agrega texto al final del objeto StringBuilder.

// C# program to demonstrate the 
// StringBuilder.AppendFormat() method
using System;
using System.Text;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        StringBuilder s = new StringBuilder("Your total amount is ");
  
        // using the method
        s.AppendFormat("{0:C} ", 50);
  
        Console.WriteLine(s);
    }
}
Producción:

Your total amount is ¤50.00

Método StringBuilder.Insert (índice int, valor de string)

Este método inserta la string en el índice especificado en el objeto StringBuilder .

Ejemplo:

// C# program to demonstrate the 
// StringBuilder.Insert(int index,
// string value) method
using System;
using System.Text;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // "20" is capacity
        StringBuilder s = new StringBuilder("HELLO ", 20);
          
        // "GEEKS" insert after 6th index
        s.Insert(6, "GEEKS");
          
        Console.WriteLine(s);
    }
}
Producción:

HELLO GEEKS

Método StringBuilder.Remove(inicio int, longitud int)

Este método elimina el número especificado de caracteres del objeto StringBuilder actual. El proceso de eliminación comienza en un índice especificado y se extiende hasta otro índice especificado.

Ejemplo:

// C# program to demonstrate the 
// StringBuilder.Remove(int index,
// int length) method
using System;
using System.Text;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // "20" is capacity
        StringBuilder s = new StringBuilder("GeeksForGeeks", 20);
  
        // remove starts from index 5
        // and remove happes 3 index 
        // after index 5
        s.Remove(5, 3);
          
        Console.WriteLine(s);
    }
}
Producción:

GeeksGeeks

Método StringBuilder.Replace(old_val, new_val)

Este método se usa para reemplazar caracteres dentro del objeto StringBuilder con otro carácter especificado.

Ejemplo:

// C# program to demonstrate the 
// StringBuilder.Replace(string old_val,
// string new_val) method
using System;
using System.Text;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // "20" is capacity
        StringBuilder s = new StringBuilder("GFG Geeks ", 20);
          
        // Replace "GFG" with "Geeks For"
        s.Replace("GFG", "Geeks For");
  
        Console.WriteLine(s);
    }
}
Producción:

Geeks For Geeks

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *