将.csv文件加载到字典中,我不断收到错误“无法从'string []'转换为'string'”

时间:2012-03-20 16:57:12

标签: c# dictionary streamreader

我使用streamreader读取.csv文件,然后我需要拆分值并将它们放入字典中。到目前为止我有:

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
Dictionary<string, string> dict = new Dictionary<string, string>();   
    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        using (StreamReader reader = new StreamReader("textwords0.csv"))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                string[] parts = line.Split(',');
                dict.Add(parts[0], parts[1]);
            }
        }
    }

我一直收到错误“无法从'string []'转换为'string'”,但无法解决如何解决问题。

提前致谢!

更新: ...我不小心把csv文件保持打开并且现在正在工作,抱歉浪费时间,我们认为我有一个不同的电子表格打开,一些非常有用的建议,但感谢所有的帮助!

2 个答案:

答案 0 :(得分:28)

如果您正在使用 .NET 4.0 ,以下内容非常简洁,应该完成同样的事情:

var dict = File.ReadLines("textwords0.csv").Select(line => line.Split(',')).ToDictionary(line => line[0], line => line[1]);

答案 1 :(得分:0)

错误实际上是因为','您正在输入。它需要一个“数组”的字符来分割。以下是使用string.split进行拆分的示例方法。

string[] parts = line.Split(new string[] { "," }, StringSplitOptions.None);

希望这会有所帮助。 这是假设这是错误来自你没有指定的那一行。