Dependiendo de sus requisitos de rendimiento se puede ya sea concat utilizando el operador de suma:
string finalName = string.Empty;
foreach(row in Dataset)
{
finalName += row.name;
}
o utilizar un StringBuilder:
Stringbuilder sb = new StringBuilder();
foreach(row in Dataset)
{
sb.Append(row.Name);
}
string finalName = sb.ToString();
General para cantidades muy pequeñas de anexos, no notará una diferencia entre las dos versiones. Pero si combina muchas cadenas, puede haber un rendimiento muy notable y un beneficio de memoria al usar StringBuilder.
También tenga en cuenta que esto colocará las cuerdas directamente una después de la otra, por lo que también puede agregar un espacio o una nueva línea entre cada una de ellas.
bonificación especial LINQ de una sola línea:
Ya que parece ser nuevo para C# Me gustaría sugerir que ignore éste, ya que está bastante avanzada y francamente no tan legible (pero por otro ¿a quién no le gusta arrojar bits aleatorios de LINQ en su código?). Aún así, lo agregaré aquí para completarlo. No sé cómo es el rendimiento, pero una gran ventaja con respecto a los otros métodos es la facilidad con la que puede colocar un espacio u otro carácter entre las cadenas. Sólo cambia el valor en la línea marcada a cualquier valor que quiera separar las cadenas combinadas con (Environment.NewLine o "", por ejemplo)
string finalName = string.Join(
"", //Change the value here to separate the strings.
(from row in Dataset
select row.Name).ToArray());
o, si lo prefiere lambdas a LINQ:
string finalName = string.Join(
"", //Change the value here to separate the strings.
Dataset.Select(row => row.Name).ToArray());
¿Qué idioma es este? –
¿Para qué idioma es esto? Parece C#, pero fácilmente podría ser otra cosa. ¿Necesita agregar algún tipo de delimitador entre los nombres de las filas, o tendrá un nombre muy largo en el resultado final? –
@ Dillie-O excelente manera de mostrar por qué un delimitador podría ser una buena idea, +1 – kastermester