Was ist die C # Methode / Syntax für ein Array in einen einfachen String konvertieren?
Frage
Was ich suche ist ein einfaches Äquivalent von JavaScript Array::join()
, wobei Sie in einem Trennzeichen übergeben und verwendet diese bei der Rückkehr String aller Indizes. Ich konnte meine eigene Funktion mit einem StringBuilder
oder Dingsbums sicher schreiben, aber es muss sein, etwas in die .NET BCL gebaut.
EDIT: Array von alles , die nicht unbedingt string
oder char
. Ich würde die Methode einfach lieber ToString()
auf jedem Index object
nennen. String.Join()
ist groß, außer dass Sie es ein Array von Strings übergeben.
Lösung
Wenn das Array Strings enthält, können Sie nur verwenden, String.Join()
. Wenn das Array Strings nicht enthält, müssen Sie etwas ein wenig komplizierter, so dass Sie die Guss- oder Umwandlungsprozess für jedes Element verarbeiten kann es enthält.
Update: Mit @ JaredPar Code als Grundlage für ein allgemeines Beispiel:
char sep = GetSeparatorChar();
object[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x.ToString()+sep.ToString()+y.ToString());
Natürlich können Sie tun, was Sie zu x und y in diesem Beispiel die Zeichenfolge bekommen wollte schauen, wie man wollte.
Andere Tipps
Wenn String.Join nicht tun es für Sie - z.B. Sie haben eine IEnumerable<string>
anstelle eines string[]
oder Sie haben eine Sammlung von einem anderen Typ finden Sie unter diese frühere Frage .
Ich bin unklar, ob Sie eine Reihe von Zeichen oder Zeichenketten verbinden.
Für Strings
char sep = GetSeparatorChar();
string[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x+sep.ToString()+y);