2010-11-06 13 views
38

Hay una función en C# que devuelve x veces de una cadena o carácter. ¿O debo codificarlo?¿Hay una función incorporada para repetir cadena o char en .net?

+4

Esto no se refiere a la repetición de cadenas * * conforme a lo solicitado por la OP (además de caracteres que se repiten.) La votación para volver a abrir. –

+1

esto no es un duplicado exacto: esta es una forma de hacerlo. Dim la línea como String = New [String] ("-" c, 100) – KevinDeus

+2

Bueno, mejor tarde que nunca. He votado a favor de volver a abrir esto ya que ** no ** es un duplicado del posible duplicado vinculado. [La mejor forma de repetir un personaje en C#] (http://stackoverflow.com/questions/411752/best-way-to-repeat-a-character-in-c-sharp) ** ** no cubre cadenas repetitivas ¡pero solo personajes! – Nope

Respuesta

48
string.Join("", Enumerable.Repeat("ab", 2)); 

devoluciones

"abab" 

Y

string.Join("", Enumerable.Repeat('a', 2)) 

Devoluciones

"aa" 
+3

respuestas correctas a continuación un poco más - utilizar el nativo 'unirse' para los personajes [(1)] (http://stackoverflow.com/a/19248082/1037948), o 'string.Concat' para cuerdas [(2)] (http://stackoverflow.com/a/15390834/1037948) – drzaus

+0

Si el código ya utiliza Linq, usar 'string.join ("", Enumerable.Repeat ("ab", 2) .ToArray()); ' – Sanjay

+0

Para caracteres como se mencionó, la nueva cadena (char ch, int count) es mejor. Una mejora de esto podría ser usar Concat. –

49
string.Concat(Enumerable.Repeat("ab", 2)); 

devuelve

"ABAB"

+4

1 La solución más elegante – Keith

+0

Si el código ya utiliza Linq, usar 'string.Concat (Enumerable.Repeat ("ab", 2) .ToArray());' – Sanjay

23

Para las cadenas que debe utilizar efectivamente la solución de Kirk:

string.Join("", Enumerable.Repeat("ab", 2)); 

Sin embargo, para caracteres que bien podría utilizar el (más eficiente) constructor de cadena integrada:

new string('a', 2); // returns aa 
+0

Deserved 1 punto por mencionar la forma correcta de repetición de caracteres. Puedes ver http://stackoverflow.com/questions/411752/best-way-to-repeat-a-character-in-c-sharp también. Buena suerte. – QMaster

3
new String('*', 5) 

S ee Rosetta Code.

+0

Creo que esto es solo para char –

Cuestiones relacionadas