2013-11-21 21 views
5

Ich habe eine Liste von Zeichenfolgen, die ich in Anführungszeichen kapseln und mit Komma trennen und als einzelne Zeichenfolge ausgeben soll.Hinzufügen von Anführungszeichen am Anfang und Ende jedes Elements in der Liste mit LINQ

Gerade jetzt habe ich nur das Komma Teil wie so string.Join(",", list);. Dies erzeugt eine Ausgabe wie diese Id, Name, Price. Ich möchte jedoch jedes Element mit Anführungszeichen versehen, damit es wie folgt ausgegeben wird: "Id", "Name", "Price".

Momentan durchlaufe ich jedes Element in der Liste, kopiere seinen Wert und füge dann die Anführungszeichen hinzu, aber ich vermute, dass es möglich ist, LINQ zu verwenden.

Antwort

6

Versuchen Sie, diese

String.Join(",", myList.Select(x => String.Format("\"{0}\"", x)); 
+1

String.Join ("", myList.Select (x => $ "\" {x} \ "")); ist sauberer und macht das gleiche –

+0

Toller Trick für die neueren Versionen von C# @scre_www! –

6

Ich vermute, dass es möglich ist, LINQ zu tun mit

Sie sind richtig:

var result = string.Join(",", list.Select(s => '"' + s + '"')); 

Im Moment bin ich Schleife durch Jedes Element in der Liste kopiert seinen Wert und fügt dann die Anführungszeichen hinzu

Nun, das macht Linq hinter den Kulissen; Es wird nur in eine Erweiterungsmethode .Select eingewickelt.

0
String.Format("\"{0}\"", string.Join("\",\"", list); 

Erstellt eine Liste und fügt dann die fehlenden Anführungszeichen hinzu.

Erste Liste: element1" , "element2", "element3

fertige Ausgabe: "element1"," element2" , "element3"

Verwandte Themen