Was ist der schnellste Weg, um ein Array von Floats in einen String zu konvertieren? [Duplikat]

8

Was ist der schnellste Weg, um ein Array von Floats in C # in einen String umzuwandeln?

Wenn mein Array dieses { 0.1, 1.1, 1.0, 0.2 }

enthält

Dann möchte ich, dass jeder Eintrag in eine Zeichenfolge konvertiert wird, deren Wert durch ein Leerzeichen getrennt ist, d. h. "0.1 1.1 1.0 0.2"

    
abatishchev 20.10.2010, 10:09
quelle

5 Antworten

16

Ich würde für die am besten lesbare string.Join gehen, die in den meisten Fällen auch eine ausreichende Leistung haben sollte. Wenn es kein echtes Problem gibt, würde ich nicht mein eigenes betreiben:

%Vor%

Es könnte sein, dass ich Ihre Frage falsch gelesen habe. Wenn Sie also eine Aufzählung von string wünschen, gehen Sie mit den anderen Antworten.

    
Dirk Vollmar 20.10.2010, 10:18
quelle
7

Um expliziter zu sein, rufen Sie float.ToString() manuell und dann string.Join() auf, um jedes Ergebnis durch ein Leerzeichen zu trennen:

%Vor%

übrigens,

in .NET 2.0 / 3.0 / 3.5 gibt es nur einzelne String.Join(string, string[])

aber in .NET 4.0 gibt es auch String.Join<T>(string, IEnumerable<T>)

@ 0xA3 verwendet die Methode von .NET 4.0. Meine auch. Verwenden Sie daher für frühere Versionen array.Select(..).ToArray()

    
abatishchev 20.10.2010 10:30
quelle
3

Du kannst es so machen:

%Vor%     
Klaus Byskov Pedersen 20.10.2010 10:12
quelle
3
%Vor%

oder verwenden Sie rray.ConvertAll

%Vor%     
RameshVel 20.10.2010 10:15
quelle
-2

Ich mag Ansatz mit Enumerable.Aggregate Methode:

%Vor%

Funktioniert schnell.

    
iburlakov 20.10.2010 10:43
quelle

Tags und Links