【发布时间】:2020-10-16 11:22:44
【问题描述】:
我想使用 C# 和 CsvHelper 库来读取 csv 文件并将其内容存储到字典中。考虑具有以下内容的 Test.csv 文件:
One,1
Two,2
Three,3
Four,4
Five,5
我需要将此 csv 信息放在 Dictionary<string, int> 中,其中键是第一列,值是第二列。
我尝试实现帖子Mapping to a Dictionary 中提出的解决方案,但我在foreach 块中得到了NullReferenceException,因为没有数据被分配到dict 变量中:
using System;
using System.IO;
using System.Globalization;
using System.Collections.Generic;
using CsvHelper;
namespace TestCsvHelper
{
class Program
{
static void Main(string[] args)
{
using (var reader = new StreamReader("C:\\Test.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
csv.Read();
var dict = csv.GetRecord<dynamic>() as IDictionary<string, int>;
foreach (string key in dict.Keys)
{
Console.WriteLine("Key: {0}, Value: {1}", key, dict[key]);
}
}
}
}
}
有人可以帮我说明我做错了什么吗?
最好的问候,
法比亚诺
【问题讨论】:
标签: c# dictionary csvhelper