1

我正在尝试将 .txt 文件内容导入到我的列表视图中,文本文件已在此结构中保存为多行:“行 ID”^“字符串”我使用此代码导入数据:

openFileDialog1.Filter = "Text Files (*.txt)|*.txt";
        openFileDialog1.Title = "Open Text file";
        DialogResult result = openFileDialog1.ShowDialog();
        if (result == DialogResult.Cancel)
            return;
        StreamReader sr = new StreamReader(openFileDialog1.FileName, Encoding.UTF8);
        while (sr.Peek() >= 0)
        {
            string[] a2 = sr.ReadLine().Split('^');
            if (a2.Length == 3)
            {
                int aa = int.Parse(a2[0].ToString());

                textView.Items[aa].SubItems[1].Text = a2[1];
            }
        }
        sr.Close();

它加载OFD,选择txt文件,然后什么都没有,它没有给出任何异常/错误,它什么也没做,我的代码有问题吗?

4

1 回答 1

1

您正在拆分行,然后在行中测试结果数组是否有 3 个元素

if (a2.Length == 3)

如果每一行真的只有 2 个部分 - LineId 和字符串,那么您应该测试 2 个数组元素:

if (a2.Length == 2)

该代码似乎什么都不做,因为 If 根据您的数据评估为 false。

此外,该行:

textView.Items[aa].SubItems[1].Text = a2[1];

依赖于已创建索引 aa 的项目。您应该首先创建项目并将它们添加到列表视图中。

于 2013-05-10T23:03:07.717 回答