Tôi có một danh sách mà tôi muốn ghi vào chuỗi CSV.Danh sách chung cho chuỗi CSV
Các ví dụ tôi đã tìm thấy tất cả dường như là cho các danh sách đơn lẻ, tôi có nhiều mục.
Mã tôi hiện có;
private static string CreateCSVTextFile<T>(List<T> data, string seperator = ",") where T : ExcelReport, new()
{
var objectType = typeof(T);
var properties = objectType.GetProperties();
var currentRow = 0;
var returnString = "";
foreach (var row in data)
{
var currentColumn = 0;
var lineString = "";
foreach (var info in properties)
{
lineString = lineString + info.GetValue(row, null) + seperator;
currentColumn++;
}
if (seperator != "")
{
lineString = lineString.Substring(0, lineString.Count() - 2);
}
returnString = returnString + Environment.NewLine + lineString;
currentRow++;
}
return returnString;
}
Nhưng khi danh sách lớn thì phương pháp này mất nhiều thời gian để chạy.
Lớp học danh sách của tôi dựa trên vẻ ngoài;
internal class ClientMasterFile
{
public String COL1{ get; set; }
public String COL2{ get; set; }
public String COL3{ get; set; }
public String COL4{ get; set; }
public String COL5{ get; set; }
public String COL6{ get; set; }
public String COL7{ get; set; }
public String COL8{ get; set; }
public String COL9{ get; set; }
public String COL10{ get; set; }
public String COL11{ get; set; }
public String COL12{ get; set; }
}
Có cách nào nhanh hơn để thực hiện việc này bằng phiên bản nâng cao của chuỗi.Xin không?
Cảm ơn
Bạn đang sử dụng dây nối. Sử dụng 'StringBuilder'. – Romoku
Tạo một phương thức ToString() ghi đè trong ClientMasterFile của bạn và bạn sẽ không cần Reflection vì đó là những gì mất quá lâu ở đó. –