2016-12-15 3 views
0

Ich habe eine Liste eines Objekts Personentyp. Ich muss es in eine CSV-Zeichenfolge konvertieren, um weiter zu verarbeiten. Was ich bis jetzt getan ist:Konvertieren Objekt Array-Liste in Csv Zeichenfolge mit C#

overrided toString Methode wie folgt:

public override string ToString() 
    { 
    return String.Format("{0}, {1}, {2}, {3}", userame, firstname, lastname, marks); 
    } 

Beispielimplementierung:

string csv = String.Join(",", detailList.Select(x => x.ToString()).ToArray()); 
System.Diagnostics.Debug.WriteLine("csv " + csv); 

Dies ist nicht das gültige Format, das ich kenne. Kann mir jemand bei der Umwandlung in eine richtige CSV Fromat helfen?

Ich brauche diese csv in salesforce Bulk API zu verwenden.

UPDT: Meine gewünschte Ausgabe ist -

Vorname, Nachname, Benutzername

"Tom", "Jones", "Tom1234"

"Jack", "Smith", "Jack123"

Dank

+0

Gibt es einen bestimmten Grund Tosting() -Methode zu überschreiben? – jignesh

+0

Ohne Überschreiben wird die Liste nicht im lesbaren Format zurückgegeben. – Neha

+0

Versuchen Sie, ein Beispiel für Ihr gewünschtes Ergebnis zu schreiben. – Michael

Antwort

0
String.Join(",", detailList.Select(x => x.ToString()).ToArray()); 
0

Siehe Arbeitsbeispiel: https://dotnetfiddle.net/KJVYqC

public class CsvFormatter 
{ 
    public string Format(IEnumerable<Person> persons) 
    { 
     var sb = new StringBuilder(); 

     sb.AppendLine("FirstName,LastName,Username"); 

     foreach(var person in persons) 
     { 
      sb.Append(person.Firstname + ","); 
      sb.Append(person.Lastname + ","); 
      sb.Append(person.Username); 

      sb.AppendLine(); 
     } 

     return sb.ToString().Trim(); 
    } 
} 
Verwandte Themen