前言
对于i++比较熟悉,但是对i--不是很熟悉,因为用的不多,今天遇到了一个i--所以就分析了下这个例子的整体思路。
代码段
private void btnRight_Click(object sender, EventArgs e)
{
i++;
if (i==images.Length)
{
i = 0;
}
pictureBox1.Image = Image.FromFile(images[i]);
}
private void btnLeft_Click(object sender, EventArgs e)
{
i--;
if (i<0)
{
i = images.Length - 1;
}
pictureBox1.Image = Image.FromFile(images[i]);
}
整体思路
这里有两个按钮,分别是上一张和下一张
假如你需要读取的文件里有3张图片,那么索引就是0、1、2
现在拿最后一张来举例子即翻阅到最后一张图片,索引为2,如果现在点击上一张图片的按钮,现在i=2,然后进行btnLeft的Click事件中,i--即i=1,1不小于0,所以直接走这段代码: pictureBox1.Image = Image.FromFile(images[i]);
继续按上一张,这个时候i=0,继续走pictureBox1.Image = Image.FromFile(images[i]);这段代码,再按上一张,现在i=-1,-1小于0,所以现在进入到了if语句里, i = images.Length - 1;这里的images.Length是整个images数组的长度,我们举例中的数组长度为3,3-1=2,i被重新赋值,现在i=2,然后执行pictureBox1.Image = Image.FromFile(images[i]);这个语句,对应索引为2的是最后一张图片,所以屏幕上显示的是最后一张图片
收获
调试是一个很好的工具,能帮助我们看清代码的走向,而且能清晰的看到某些值,知道代码是怎样运行的。遇到问题的时候脑子会特别乱,但是静下心来一步一步的分析,发现问题也不是很难。