HOWTO · Csharp

Repetir cadena en C#

Hay tres métodos principales que se pueden usar para repetir una cadena en C#, el constructor String, la función Enumerable.Repeat() en LINQ y la clase StringBuilder.

En esta página

Este tutorial discutirá los métodos para repetir una cadena en C#.

Repetir cadena con el constructor de clase String en C#

El constructor de la clase String se puede utilizar para repetir una cadena específica un número específico de veces en C#. El constructor de la clase String toma dos argumentos, el carácter a repetir y el número de veces que debe repetirse. Vea el siguiente ejemplo de código.

using System;

namespace repeat_string {
  class Program {
    static void Main(string[] args) {
      string dimensions = new String('D', 3);
      Console.WriteLine(dimensions);
    }
  }
}

Producción :

DDD

En el código anterior, repetimos el carácter D 3 veces y lo guardamos en la variable de cadena dimensiones con el constructor String('D', 3) en C#. El inconveniente de este enfoque es que no podemos repetir ninguna cadena; podemos repetir un carácter. Este inconveniente se aborda en la siguiente sección.

Repetir cadena con el método LINQ en C#

LINQ integra la funcionalidad de consulta con estructuras de datos en C#. La función Enumerable.Repeat() de LINQ se puede utilizar para repetir una cadena un número específico de veces en C#. La función Enumerable.Repeat() toma dos parámetros, una variable de cadena y el número de veces que esa variable de cadena debe repetirse. El siguiente ejemplo de código nos muestra cómo podemos repetir una cadena con la función Enumerable.Repeat() de LINQ en C#.

using System;
using System.Linq;

namespace repeat_string {
  class Program {
    static void Main(string[] args) {
      string alphabets = string.Concat(Enumerable.Repeat("ABC", 3));
      Console.WriteLine(alphabets);
    }
  }
}

Producción :

ABCABCABC

En el código anterior, repetimos la cadena ABC 3 veces y la guardamos en la variable de cadena alphabets con la función Enumerable.Repeat("ABC", 3) de LINQ en C#. Este enfoque repite cadenas en lugar de repetir caracteres como el enfoque anterior.

Repetir cadena con la clase StringBuilder en C#

Otro enfoque que se puede usar para repetir una cadena es usar la clase StringBuilder en C#. La clase StringBuilder se utiliza para crear una cadena mutable de caracteres en C#. Vea el siguiente ejemplo de código.

using System;
using System.Text;
namespace repeat_string {
  class Program {
    static void Main(string[] args) {
      string alphabets = new StringBuilder("ABC".Length * 3).Insert(0, "ABC", 3).ToString();
      Console.WriteLine(alphabets);
    }
  }
}

Producción :

ABCABCABC

En el código anterior, repetimos la cadena ABC 3 veces y la almacenamos en la variable de cadena alphabets con la clase StringBuilder y la función StringBuilder.Insert() en C#. Primero, creamos una nueva cadena con la longitud combinada de la cadena repetida con el constructor StringBuilder("ABC".Length*3). Creó una cadena de longitud 9 porque la longitud de ABC es 3, y debe repetirse 3 veces. Luego, partimos del índice 0 e insertamos la cadena ABC 3 veces en la cadena recién creada con la función Insert(). Al final, convertimos el valor resultante en una cadena con la función ToString() en C#. Este enfoque no se recomienda porque hace el mismo trabajo que el enfoque anterior, pero es más complejo.