2012-11-17 2 views
0

"인덱스가 배열 범위 밖에 있습니다." 내가 listView에 항목을 추가하려고 할 때.C# : Index가 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]); 
     } 

오류이 줄에 나타납니다 : : 당신이 당신의 for 루프의 조건으로 h.Length하지 u.Length을 사용하는

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

답변

1

여기 내 코드입니다. h이 아닌 u의 요소를 추가하는 것이므로 대부분 u.Lengthh.Length보다 작 으면 u [i]에 액세스하려고하면 예외가 발생합니다. 다음과 같아야합니다.

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]); 
} 
+0

고마워요! 그것은 일했다 :) –

관련 문제