Gibt es eine Möglichkeit, eine Liste in eine durch Kommas getrennte Zeichenfolge umzuwandeln?
Ich weiß, dass ich es einfach schleifen und bauen kann, aber irgendwie denke ich, dass einige von euch eine coolere Art haben, es zu tun?
Ich möchte diese Art von "Tricks" wirklich lernen, also erklären Sie bitte die Dokumente zu der von Ihnen verwendeten Methode oder verlinken Sie sie.
c#
collections
mrblah
quelle
quelle
Einfache Lösung ist
Ich habe es gerade in meinem Code verwendet und funtastisch gearbeitet.
quelle
quelle
In den Kommentaren zu meinem Artikel zu diesem Thema finden Sie ungefähr eine Million Lösungen für eine etwas kompliziertere Version dieses Problems - von denen viele langsam, fehlerhaft oder nicht einmal kompilierbar sind:
http://blogs.msdn.com/ericlippert/archive/2009/04/15/comma-quibbling.aspx
und der StackOverflow-Kommentar:
Eric Lipperts Herausforderung "Komma-Quibbling", beste Antwort?
quelle
Für zusätzliche Coolness würde ich dies zu einer Erweiterungsmethode für IEnumerable <T> machen, damit es für jeden IEnumerable funktioniert:
Verwenden Sie es wie folgt:
quelle
return string.Join(delim, self);
Scheint ziemlich schnell.
quelle
Mein "kluger" Eintrag:
Ich habe nur nicht herausgefunden, wie das Komma bedingt hinzugefügt werden kann.
quelle
Select
mit Nebenwirkungen in das Lambda. In diesem Fall verwenden Sie nicht einmaly
, also ist IhrSelect
im Wesentlichen nur einforeach
- schreiben Sie es als solches.Select
wieforeach
geht vorbei „interessant“ und in, na ja, „Missbrauch“. Ein interessanter Ansatz wäre hier die VerwendungEnumerable.Aggregate
mitStringBuilder
als Startwert - versuchen.Sie können die System.Linq-Bibliothek verwenden. Es ist effizienter:
quelle