我收到以下代码的错误,因为我的计数器增加了1次太多了,我不明白为什么。
代码:
...private static int counter = 0;
protected void ButtonSubmit_Click(object sender, EventArgs e)
{
SendWord();
object o = wordList[counter];
LabelWord.Text = o.ToString();
if (counter < wordList.Count)
{
counter++;
}
}
如果我使用counter < wordList.Count -1)
它不会给我一个错误,但它也不会加载我的列表中的最后一个单词。我做错了什么?
错误:
An exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll but was not handled in user code
Additional information: Index was out of range. Must be non-negative and less than the size of the collection.
答案 0 :(得分:2)
您可以像这样更改代码:
if (counter < wordList.Count)
{
object o = wordList[counter++];
LabelWord.Text = o.ToString();
}
这不会给你OufOfRange
例外,并且应该返回所有项目。
答案 1 :(得分:0)
如果
,您的代码存在问题 if (counter < wordList.Count)
{
counter++;
}
让count
为10
列表是0到9索引
当计数器为9时,在最后一个循环中...条件为真且它增加1并终止循环
我的情况2 if (counter < wordList.Count-1)
它正确,,,增加到8并终止
使用这个
if (counter <=wordList.Count-1
)