現在、CSV ファイルを読み取り、その内容を返すメソッドを作成しています。
内容はヘッダー(列名)+データなので、結果を格納するためにDataTableを使おうと考えていました。
それはパフォーマンスでしょうか?私は主にコンテンツ全体を読んで別のシステムに送信することを知っています(FYI:この質問の範囲外のFoxProのもの)。
他に何を使用できますか?(私の目標は、メンテナンスや読みやすさに配慮したコードを作成することです)。
とりあえず、文字列のリストのリストを使用します。
var returnValue = new List<List<string>>();
var csv = CSV;
var regexp = new Regex("(?:;|^)\"((?:[^\"]|(?:\"\"))*)\"", RegexOptions.Singleline | RegexOptions.Compiled);
var lines = csv.Split('\n');
foreach (var line in lines)
{
var matches = regexp.Matches(line);
returnValue.Add(matches.Cast<Match>()
.Select(m => m.Groups[1].Value.Replace("\"\"", "\""))
.ToList());
}
return returnValue;