0

「インデックスが配列の範囲外でした」というメッセージが表示され続けます。listViewにアイテムを追加しようとしたとき。

私は何が間違っているのですか?

これが私のコードです:

 string[] h = getBetweenAll(thepage, "\" target=\"_blank\">", "</a>");
         foreach (string s in h)
         listViewClickbank.Items.Add(new ListViewItem(""));

        foreach (ListViewItem i in listViewClickbank.Items)
         {
           if (i.SubItems[0].Text == "(view mobile)")
          {
                i.Remove();
           }
       }

      foreach (ListViewItem i in listViewClickbank.Items)
     {
             if (i.SubItems[0].Text.Contains("recordTitle"))
           {
             i.Remove();
          }
      }

      string[] u = getBetweenAll(thepage, "<div class=\"description\">", "</div>");
      for (int i = 0; i < h.Length && i < listViewClickbank.Items.Count; i++)
      {
           listViewClickbank.Items[i].SubItems.Add(u[i]);
      }

エラーは次の行に表示されます。

listViewClickbank.Items[i].SubItems.Add(u[i]);
4

1 に答える 1

1

ループの条件としてh.Lengthではなく、を使用していることに注意してください。の要素を追加していますが、おそらくそれよりも小さく、u[i]にアクセスしようとすると例外が発生します。そのはず :u.Lengthforuhu.Lengthh.Length

string[] u = getBetweenAll(thepage, "<div class=\"description\">", "</div>");
for (int i = 0; i < u.Length && i < listViewClickbank.Items.Count; i++)
{
     listViewClickbank.Items[i].SubItems.Add(u[i]);
}
于 2012-11-17T17:55:41.087 に答える