在C#中将单词读入数组

时间:2014-05-02 16:41:41

标签: c# arrays visual-studio csv openfiledialog

我正在尝试将单词列表读入数组。我在这个网站上已经阅读了一些教程和其他问题,但仍然被卡住了。这可能是我想念的一些简单但我无法解决的问题。

这是我的代码:

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

我想要发生的是将文件中的所有单词逐个放入数组badWords中。

任何想法我做错了什么?

3 个答案:

答案 0 :(得分:5)

您的代码没有读取文件,它正在拆分文件路径中的“单词”。

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

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

答案 1 :(得分:2)

您应该将文件的内容读入变量。你只是简单地取用文件名并将其拆分。

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

答案 2 :(得分:0)

openFileDialog2.FileName不会打开该文件。它只是一个属性,它返回在该Open File Dialog组件中选择的文件的名称。

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