-1

我从一个文本文件 ( .txt) 制作程序,我必须用函数split切断世界的界限。但我不知道这个世界如何在函数中写入数组并使用它。

有代码:

    private void button1_Click(object sender, EventArgs e)
    {
        FileStream fs = new FileStream("text.txt", FileMode.Open);
        StreamReader sr = new StreamReader(fs);

        string line;
        while ((line = sr.ReadLine()) != null)
        {
            string[] slova = sr.ReadLine().Split(';');

        }



        sr.Close();
    }
4

2 回答 2

1

我认为问题在于你打StreamReader.ReadLine了两次电话。这种方法使读者前进到下一行。所以第一次调用将line使用当前行初始化,下一次调用将读取下一行:

while ((line = sr.ReadLine()) != null)        // <-- first ReadLine
{
    string[] slova = sr.ReadLine().Split(';');// <-- second ReadLine
}

所以只需使用变量

while ((line = sr.ReadLine()) != null)
{
    string[] slova = line.Split(';');
    // ....
}
于 2013-03-06T10:42:43.383 回答
-1
string filePath = "text.txt";
char wordsSeparator = ';';
IEnumerable<string> lines = File.ReadAllLines(filePath);
foreach (var line in lines)
{
   IEnumerable<string> words = line.Split(new [] {wordsSeparator});
   // TODO: process words?!
}
于 2013-03-06T10:36:39.647 回答