1

.txt ファイルの内容をリストビューにインポートしようとしていますが、テキスト ファイルは既にこの構造の複数行として保存されています: "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ファイルを選択してから何もしません。例外/エラーはまったく発生しません。何もしません。私のコードに何か問題がありますか?

4

1 に答える 1

1

行を分割し、結果の配列に 3 つの要素があるかどうかをテストしています。

if (a2.Length == 3)

各行に LineId と文字列の 2 つの部分しかない場合は、2 つの配列要素をテストする必要があります。

if (a2.Length == 2)

データに基づいて If が false と評価されるため、コードは何もしていないように見えます。

また、次の行:

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

インデックス aa が既に作成されているアイテムに依存します。最初にアイテムを作成し、リスト ビューに追加する必要があります。

于 2013-05-10T23:03:07.717 に答える