だから私は自分のCSVリーダー/ライターを書くべきではないことを読んでいたので、nuget経由でインストールされたCsvHelperライブラリを使用しようとしていました. CSV ファイルはグレースケール画像で、行数が画像の高さ、列数が幅になります。List<string>値を行単位で単一のorに読み込みたいと思いますList<byte>。
私がこれまでに持っているコードは次のとおりです。
using CsvHelper;
public static List<string> ReadInCSV(string absolutePath)
{
IEnumerable<string> allValues;
using (TextReader fileReader = File.OpenText(absolutePath))
{
var csv = new CsvReader(fileReader);
csv.Configuration.HasHeaderRecord = false;
allValues = csv.GetRecords<string>
}
return allValues.ToList<string>();
}
しかしallValues.ToList<string>()、投げている:
CsvConfigurationException はユーザー コードによって処理されませんでした
タイプ 'CsvHelper.Configuration.CsvConfigurationException' の例外が CsvHelper.dll で発生しましたが、ユーザー コードで処理されませんでした
追加情報: IEnumerable を継承する型は自動マップできません。レコードのリストに作用する GetRecords または WriteRecords を呼び出す代わりに、単一のレコードに作用する GetRecord または WriteRecord を誤って呼び出しましたか?
GetRecordsおそらく私自身のカスタムクラスを期待していますが、値をプリミティブ型または文字列として求めているだけです。また、各値が個別の文字列ではなく、行全体が単一の文字列に変換されていると思われます。