配列内のアイテムをlistViewに追加するforループがあります。
(Webページ上のアイテムを取得し、文字列の'の後のすべてを削除してから、listViewに追加します)
私が得ているエラーは次のとおりです。IndexOutOfRangeException was unhandled- Index was outside the bounds of the array
これが私が使用しているコードです:
string[] aa = getBetweenAll(vid, "<yt:statistics favoriteCount='0' viewCount='", "'/><yt:rating numDislikes='");
for (int i = 0; i < listView1.Items.Count; i++)
{
string input = aa[i];
int index = input.IndexOf("'");
if (index > 0)
input = input.Substring(0, index);
listView1.Items[i].SubItems.Add(input);
}
次の行でエラーが発生します。string input = aa[i];
私が間違ったことはありますか?この問題を修正して、発生を停止するにはどうすればよいですか?ありがとう!
getBetweenAllメソッドのコードがわからない場合は、次のようになります。
private string[] getBetweenAll(string strSource, string strStart, string strEnd)
{
List<string> Matches = new List<string>();
for (int pos = strSource.IndexOf(strStart, 0),
end = pos >= 0 ? strSource.IndexOf(strEnd, pos) : -1;
pos >= 0 && end >= 0;
pos = strSource.IndexOf(strStart, end),
end = pos >= 0 ? strSource.IndexOf(strEnd, pos) : -1)
{
Matches.Add(strSource.Substring(pos + strStart.Length, end - (pos + strStart.Length)));
}
return Matches.ToArray();
}