Sie soll erster Versuch funktionieren, aber Sie müssen das Gesamtergebnis mit "'"
Präfix und Suffix.
oder könnten Sie tun:
var strings = new List<string>() { "a", "b", "c" }
.Select(x => string.Format("'{0}'", x));
var result = string.Join(",", strings);
Eine weitere Option ein StringBuilder
stattdessen zu verwenden ist,
var strings = new List<string>() { "a", "b", "c" };
var builder = new StringBuilder();
foreach (var s in strings)
{
builder.AppendFormat(",'{0}'", s);
}
var result = builder.ToString().Trim(",");
In diesem Fall würde ich die LINQ Ansatz empfehlen es Einfachheit, aber don‘ t ausschließen Sie die StringBuilder
, wenn Ihr echtes Problem komplexer ist, da es die Absicht der Formatierung jedes einzelnen Elements sauberer zeigen kann.
Ein hybrider Ansatz, bei dem Sie den Inhalt jedes Elements mit einem StringBuilder
formatieren, dann erstellen Sie die kommagetrennte Liste mit LINQ anschließend, könnte gut funktionieren.
Ihr erster Versuch funktionieren sollte. Was war der Fehler/fehlerhafte Ausgabe? –