concatenate - string join c#
C#: string[] a string delimitado. ¿Hay una sola línea? (5)
Lo que preferiría es algo como:
string[] strArray = {"Hi", "how", "are", "you"};
string strNew = strArray.Delimit(chDelimiter);
Sin embargo, no existe tal función. He revisado MSDN y nada me ha parecido una función que realice la misma acción. Miré a StringBuilder, y una vez más, nada se destacó a mí. ¿Alguien sabe de una línea no extremadamente complicada para hacer una matriz de una cadena delimitada. Gracias por la ayuda de tus chicos.
ACTUALIZACIÓN: Wow, lol, mi mal. Seguí mirando el .Join en el arreglo en sí y me estaba fastidiando. Ni siquiera miré a String.Join. Gracias chicos. Una vez que me permita aceptar lo haré. Precia la ayuda.
Echa un vistazo a String.Join() .
Su muestra debe verse así:
string delimiter = ","
string[] strArray = { "Hi", "how", "are", "you" };
string strNew = String.Join(delimiter, strArray);
Para matrices, puede utilizar:
string.Join(", ", strArray);
Personalmente, utilizo un método de extensión que puedo aplicar a colecciones enumerables de todos los tipos:
public static string Flatten(this IEnumerable elems, string separator)
{
if (elems == null)
{
return null;
}
StringBuilder sb = new StringBuilder();
foreach (object elem in elems)
{
if (sb.Length > 0)
{
sb.Append(separator);
}
sb.Append(elem);
}
return sb.ToString();
}
... que yo uso como tal:
strArray.Flatten(", ");
Puedes usar el método String.Join estático:
String strNew = String.Join(chDelimiter, strArray);
EDITAR: En respuesta al comentario : según su comentario, puede tomar varios arreglos, concatenarlos y luego unirlos al conjunto resultante. Puede hacerlo utilizando el método de extensión Concat
. Aquí hay un ejemplo:
//define my two arrays...
string[] strArray = { "Hi", "how", "are", "you" };
string[] strArray2 = { "Hola", "como", "esta", "usted" };
//Concatenate the two arrays together (forming a third array) and then call join on it...
string strNew = String.Join(",", strArray.Concat(strArray2));
¡Espero que esto ayude!
Utilice String.Join
string[] strArray = {"Hi", "how", "are", "you"};
string strNew = String.Join("," strArray);
en este caso, String.Join () es probablemente la forma más fácil de hacerlo, aunque también puedes usar LINQ
var comSeparatedStrings = strings.Aggregate((acc, item) => acc + ", " + item);