c# Listview文本导入函数不做任何事情

本文关键字:任何事 函数 Listview 文本 导入 | 更新日期: 2023-09-27 18:13:09

我正在尝试导入。txt文件内容到我的listview,文本文件已经保存为这个结构中的多行:"Line ID"^"String"我使用以下代码导入数据:

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文件,然后什么也没有,它没有给出任何异常/错误,它只是什么也不做,是我的代码有问题吗?

c# Listview文本导入函数不做任何事情

分隔行,然后测试结果数组是否有3个元素,在

行中
if (a2.Length == 3)

如果每行真的只有两部分——LineId和string,那么你应该测试2个数组元素:

if (a2.Length == 2)

代码似乎什么也没做,因为根据您的数据,If计算结果为false。

同样,这行:

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

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