Me gustaría convertir una matriz de cadenas en una sola cadena.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Me gustaría tener algo como "¡Hola mundo!"
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", ";
string.Join(separator , test);
string.Join(string.Empty, test)
lugar de usar unempty-paranthesis
.Una opción un poco más rápida que usar el uso ya mencionado del
Join()
método es el método Concat () . No requiere un parámetro delimitador vacío como loJoin()
hace. Ejemplo:Por lo tanto, es probable que sea más rápido.
fuente
Concat
es mejor, en el código interno deJoin
, agregará un separador después de cada elemento. PeroConcat
no tiene tales códigos, es más simple y más directo queJoin
. Esta es la respuesta más adecuada.Tratar:
que debería devolver una cadena que une los dos elementos.
""
indica que desea que las cadenas se unan sin separadores.fuente
"Hello "
en la pregunta ya tenía un espacio final. Si el espacio no estuviera allí, estaría en lo correcto, y usarlo" "
como separador tendría más sentido.Una cadena simple. Concat () es lo que necesita.
Si también necesita agregar un separador (espacio, coma, etc.), use string.Join ().
Si tiene que realizar esto en una matriz de cadenas con cientos de elementos que cadenas. Unir () es mejor por punto de vista de rendimiento. Simplemente da un argumento "" (en blanco) como separador. StringBuilder también se puede usar por razones de rendimiento, pero hará que el código sea un poco más largo.
fuente
Concat
yJoin
son más rápidos queStringBuilder
si tienes 4 o menos cadenas para concatenar.Aggregate
También se puede utilizar para lo mismo.fuente
String.Join
debido a las múltiples cadenas adicionales construidas. Lea stackoverflow.com/questions/217805/… para ver la variante adecuada deAggregate
.fuente
string.Join(" ", array)
(excepto que el suyo agrega un espacio final). ¿Por qué no solo usar el de la biblioteca?Utilicé esta forma para acelerar mi proyecto:
¡RichTextBox.Text convertirá automáticamente su matriz en una cadena multilínea!
fuente
En la respuesta aceptada, String.Join no es la mejor práctica por su uso. String.Concat debería haberse usado ya que OP incluía un espacio final en el primer elemento: "Hola" (en lugar de usar un delimitador nulo).
Sin embargo, dado que OP solicitó el resultado "¡Hola Mundo!", String.Join sigue siendo el método apropiado, pero el espacio en blanco final se debe mover al delimitador.
fuente
Me gusta esto:
También puedes usar un bucle:
fuente