Je nach Leistungsanforderungen können Sie entweder concat den Zusatz-Operator:
string finalName = string.Empty;
foreach(row in Dataset)
{
finalName += row.name;
}
oder verwenden Sie eine StringBuilder:
Stringbuilder sb = new StringBuilder();
foreach(row in Dataset)
{
sb.Append(row.Name);
}
string finalName = sb.ToString();
Allgemein für sehr kleine Anhängigkeiten werden Sie keinen Unterschied zwischen den beiden Versionen bemerken. Wenn Sie jedoch viele Zeichenfolgen kombinieren, kann sich die Verwendung des StringBuilders sehr bemerkbar machen.
Denken Sie auch daran, dass dies die Strings direkt nacheinander platziert, so dass Sie auch ein Leerzeichen oder eine neue Zeile zwischen ihnen einfügen können.
Sonder Bonus LINQ Einzeiler:
Da Sie zu C# neu zu sein scheinen, würde ich, dass du dieses ignorieren vorschlagen, da es schon recht weit fortgeschritten ist und ehrlich gesagt nicht so lesbar (aber auf der anderen Hand, die nicht gerne zufällige Bits von LINQ in ihren Code werfen?). Trotzdem füge ich es hier zur Vollständigkeit hinzu. Ich weiß nicht, wie die Leistung ist, aber ein großer Vorteil gegenüber den anderen Methoden ist die Leichtigkeit, mit der Sie einen Platz oder ein anderes Zeichen zwischen den Strings platzieren können. Ändern Sie einfach den Wert in der markierten Linie auf den Wert, um die kombinierten Strings trennen wollen, mit (Environment.NewLine oder „“, zum Beispiel)
string finalName = string.Join(
"", //Change the value here to separate the strings.
(from row in Dataset
select row.Name).ToArray());
oder, wenn Sie lambdas zu LINQ bevorzugen:
string finalName = string.Join(
"", //Change the value here to separate the strings.
Dataset.Select(row => row.Name).ToArray());
Welche Sprache ist das? –
Für welche Sprache ist das? Es erscheint C#, aber es könnte leicht etwas anderes sein. Müssen Sie zwischen den Zeilennamen eine Art Trennzeichen einfügen, oder wird im Endergebnis ein ganzer Name angegeben? –
@ Dillie-O hervorragende Möglichkeit zu zeigen, warum ein Trennzeichen eine gute Idee sein könnte, +1 – kastermester