2008-12-19 2 views
43

Geschlossen als genaues Duplikat von this question.Kürzeste Methode zum Konvertieren eines Arrays in eine Zeichenfolge in C#/LINQ

Ich habe ein Array/eine Liste von Elementen. Ich möchte es in eine Zeichenfolge konvertieren, die durch einen benutzerdefinierten Begrenzer getrennt ist. Zum Beispiel:

[1,2,3,4,5] => "1,2,3,4,5" 

Was ist der kürzeste/einfachste Weg, dies in C# zu tun?

Ich habe das immer getan, indem ich die Liste durchläuft und überprüfe, ob das aktuelle Element nicht das letzte ist, bevor ich das Trennzeichen hinzufüge.

Gibt es eine LINQ-Funktion, die mir helfen kann, weniger Code zu schreiben?

Antwort

134
String.Join(",", arr.Select(p=>p.ToString()).ToArray()) 
+6

Sie brauchen nicht eigentlich die ToArray() ... string.Join ein IEnumerable nehmen, und IEnumerable.Select gibt eine IEnumerable. – neminem

+7

@neminem 'string.Join (String, IEnumerable )' existierte 2008 nicht. –

36
String.Join(",", array.Select(o => o.ToString()).ToArray()); 
Verwandte Themen