Wie konvertiert man IEnumerablechar in string [], damit ich es mit String.Join verwenden kann?

7

Wie kann ich das IEnumerable<char> "nonLetters" in ein string[] konvertieren, damit ich es mit String.Join verwenden kann?

%Vor%     
Edward Tanguay 05.11.2009, 14:50
quelle

6 Antworten

12
%Vor%     
LukeH 05.11.2009, 14:52
quelle
5

Wenn Sie String.Join nicht wirklich interessieren, aber nur das Ergebnis wollen, ist new string (char []) die einfachste Änderung:

%Vor%

Aber für Ihr Beispiel ist es effizienter, wenn Sie es so machen:

%Vor%

Der Grund dafür ist, dass das andere Beispiel Ihren wo Iterator zweimal wiederholt: Einmal für den Count () - Aufruf und das andere Mal für den ToArray () - Aufruf.

    
Ray Burns 05.11.2009 15:52
quelle
3

Ich denke du willst:

%Vor%

Ich habe nur Select(x => x.ToString()) auf nonLetters im String.Join-Aufruf aufgerufen. Scheint zu funktionieren.

    
Jon Skeet 05.11.2009 14:56
quelle
2
%Vor%

Ich habe gerade festgestellt, dass Sie eine Zeichenfolge [] und keine Zeichenfolge möchten:

%Vor%

Böse. Aber es funktioniert ...

    
kwcto 05.11.2009 14:51
quelle
1

Wählen Sie einfach einen String anstelle eines Chars für jeden Ihrer Nicht-Buchstaben.

%Vor%     
Meta-Knight 05.11.2009 14:56
quelle
0

Mit .NET 4 haben Sie eine weitere Überlast für Join. So einfach wie:

%Vor%

Speichert einen weiteren Select und ToArray Teil. Also sollte etwas effizienter sein. Das ToString wird intern aufgerufen.

    
nawfal 05.02.2013 09:22
quelle

Tags und Links