C#的for循环提供的迭代循环机制是在执行下一次迭代前,测试是否满足某个条件,其语法如下:
For(initializer,condition,iterator)
Statement(s)
其中:
Initializer是指在执行第一次迭代前要计算的表达式(通常把一个局部变量初始化为循环计数器)
Condition是在每次迭代新循环前要测试的表达式(它必须等于true,才能执行下一次迭代)
Iterrator是每次迭代完要计算的表达式(通常是递增循环计数器)。当condition等于false时,迭代停止。
For循环是所谓的预测试循环,因为循环条件是执行循环语句前计算的,如果循环条件为假,循环语句就根本不侍执行。
For循环非常适合重复执行预定次数的一个语句或语句块,直到指定的表达式为false。其对迭代数组和顺序处理很有用。
看代码:
class ForLoopTest
{
static void Main()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
}
}
其输出:
1
2
3
4
5
这里声明一个int类型的变量i,并把它初始化为1,用作循环计数器。接着测试它是否小于等于5,因为这个条件等于true,所以执行执行循环中的代码,显示值为1.然后给计数器加1,再次执行该过程。当i等于100时,循环停止。
For语句的所有表达式都是可选的;下面的语句用于写一个无限循环:
for (;;)
{
Console.WriteLine("Forever");
}
讲一下嵌套的for循环,其非常常见。在每次迭代外部的循环时,内部循环都要彻底执行完毕。这种模式通常用于在矩形多维数组中遍历每个元素。最外部的循环遍历每一行,内部的循环遍历某行上的每一列。
看代码:
int[,] myMatrix;
myMatrix = new int[6, 6];
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
myMatrix[i, j] = i * j;
}
}
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
Console.WriteLine(myMatrix[i, j]);
}
Console.ReadLine();
}
其输出结果为:
000000
012345
0246810
03691215
048121620
0510152025