0
我試圖將CSV
解析爲Model,但我的IEnumerable
始終爲空。這段代碼有什麼問題嗎?將CSV解析爲模型
private IEnumerable<CandidatesDTO> FileToDto(byte[] file)
{
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
IEnumerable<CandidatesDTO> query = null;
string[] separators = { ",", ".", "!", "?", ";", ":", " " };
try
{
var str = enc.GetString(file);
query = from line in str
let data = str.Split(separators, StringSplitOptions.RemoveEmptyEntries)
select new CandidatesDTO
{
Id = Int32.Parse(data[0]),
Name = data[1],
DOB = DateTime.Parse(data[2], CultureInfo.InvariantCulture),
Phone = data[3],
Email = data[4]
};
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return query;
}
UPDATE。我發現有異常 - 「輸入字符串格式不正確」。看起來像一些不正確的類型是通過字符串傳遞的,這導致了FormatException。
請分享您的CSV文件的內容,以及 –
我可以建議你到F#項目添加到您當前的解決方案。然後,您可以利用CSV類型提供程序的優勢,詳細信息請參閱http://fsharp.github.io/FSharp.Data/library/CsvProvider.html 除此之外,使用F#還可以快速且輕鬆地定義DTO –
該文件必須爲空。你至少應該有一個候選人在查詢,你有空。 – jdweng