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.

War es hilfreich?

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top