0

我有一个包含 CSV 文件内容的字符串。
我需要将这些值提取到我的对象中。
我没有从 CSV 文件中获取 CSV,而是将其作为参数(数据)接收。
例如,他们使用 file.csv来解析数据。
我试图加载它MemoryStream但没有运气。

public string methos(string data)
        {
            CsvFileDescription inputFileDescription = new CsvFileDescription
            {
                SeparatorChar = ',',
                FirstLineHasColumnNames = true
            };

            CsvContext cc = new CsvContext();

            MemoryStream mStream = new MemoryStream(System.Text.ASCIIEncoding.Default.GetBytes(data));

            IEnumerable<Data datas=
            cc.Read<Data>(mStream, inputFileDescription);

另外我不知道我是否选择了好的框架来将 CSV 解析为自定义对象,但对我来说,重要的是值可以有逗号并且框架可以处理它。

4

1 回答 1

5

LINQtoCSV 只需要一个 StreamReader,而不是一个流。试试这个:

        using (MemoryStream mStream = new MemoryStream(System.Text.ASCIIEncoding.Default.GetBytes(data)))
        using (StreamReader reader = new StreamReader(mStream))
        {
            IEnumerable<Data> datas = cc.Read<Data>(reader, inputFileDescription);
        }
于 2013-09-23T13:22:20.823 回答