2016-12-15 7 views
0

У меня есть список объектов Person type. Мне нужно преобразовать его в строку csv, чтобы продолжить обработку. То, что я сделал до сих пор:Преобразование списка массивов объектов в строку csv с использованием C#

перекрытая toString метод, как показано ниже: осуществление

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

образца:

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

Это не действительный формат я знаю. Может ли кто-нибудь помочь мне в преобразовании в правильный csv fromat?

Мне нужен этот csv для использования в Salesforce Bulk API.

UPDT: Мой требуемый выход -

FirstName, LastName, Имя пользователя

"Том", "Джонс", "Tom1234"

"Джек", "Смит", "Jack123"

Благодаря

+0

Любая конкретная причина для переопределения метода Tostring()? – jignesh

+0

Без переопределения он не вернет список в читаемом формате. – Neha

+0

Попробуйте написать пример желаемого результата. – Michael

ответ

0

См работает пример: 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(); 
    } 
} 
Смежные вопросы