【问题标题】:Read words into an array in C#将单词读入C#中的数组
【发布时间】:2014-06-19 10:17:35
【问题描述】:

我正在尝试将单词列表读入数组。我已经阅读了这个网站上的一些教程和其他问题,但仍然卡住了。这可能是我缺少的一些简单的东西,但我无法弄清楚。

这是我的代码:

string badWordsFilePath = openFileDialog2.FileName.ToString();
                badWords = badWordsFilePath.Split(' ');
                MessageBox.Show("Words have been imported!");
                BadWordsImported = true;

我希望将文件中的所有单词一一放入数组 badWords 中。

任何想法我做错了什么?

【问题讨论】:

  • 您是否要读取文件内容?您当前的代码只是试图拆分 file name 并将其存储在数组中。在 C# 中搜索读取文件
  • 哦,好的。难怪它不起作用。感谢您的帮助。

标签: c# arrays visual-studio csv openfiledialog


【解决方案1】:

您的代码不是在读取文件,而是在文件路径中拆分“单词”。

你需要做的是实际读取文件。

string badWordsFilePath = openFileDialog2.FileName;
string fileContents = File.ReadAllText(badWordsFilePath);
badWords = fileContents.Split(' ');

【讨论】:

    【解决方案2】:

    您应该将文件的内容读入一个变量。您只是获取文件名并将其拆分。

    using (StreamReader sr = new StreamReader(openFileDialog2.FileName))
    {
      string line = sr.ReadToEnd();
      badWords = line.Split(' ');
    }
    

    【讨论】:

    • 我按照你说的做了,现在有点用了。它显示所有单词都在数组的单个索引上。我希望每个单词都有自己的索引。我会使用循环吗?
    【解决方案3】:

    openFileDialog2.FileName 不打开文件。它只是一个属性,用于返回在该打开文件对话框组件中选择的文件的名称。

    您必须实际打开文件才能从中读取。然后阅读它的内容。您可以为此使用 StreamReader 类。有关简单示例,请查看 ReadToEnd 方法文档中包含的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2021-12-16
      • 2013-02-27
      • 1970-01-01
      • 2014-11-27
      相关资源
      最近更新 更多