下面我是在c#中可以实现循环的6中方式:
第一种,也是我们最常用的一种循环语句—for循环
优点:循环标识变量会自动销毁
缺点: 如果用字符串等数据类型来作循环标识很麻烦
第二种,集合遍历—foreach 循环
优点:遍历集合非常方便,无需获取循环总大小
缺点:内部无法知道循环多少次
第三种,更灵活的循环语句—while
优点:自定义循环标识、循环条件、循环方式,比for循环灵活
缺点:循环标识不会自动销毁
第四种,至少执行一次循环体的循环语句—do…while
优点:如果需要至少执行一次代码的该循环优于其他循环
缺点:同while一样
第五种,特殊的循环—递归
优点:遍历树结构等,递归优于其他的循环
缺点:书写不规范很有可能造成无限递归
第六种,利用c#goto关键字特性来实现循环
这只是一种方式,goto关键字是可以跳转到其他语句的作用,
在这里我利用它来实现循环功能
下面是我利用上面六种循环实现输出1~9的代码
//---------------------------for循环--------------------------------
Console.Write("for循环"+"\n");
for (int i = 1; i < 10; i++)
{
Console.Write(i + " ");
}
//----------------------------foreach循环-------------------------------
Console.Write("\n"+"foreach循环" + "\n");
int[] d = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9};
foreach (var item in d)
{
Console.Write(item + " ");
}
//--------------------------while循环---------------------------------
Console.Write("\n" + "while循环" + "\n");
int a = 1;
while (a<10)
{
Console.Write(a + " ");
a++;
}
//-------------------------do...while循环----------------------------------
Console.Write("\n" + "do...while循环" + "\n");
int b = 1;
do
{
Console.Write(b+ " ");
b++;
} while (b < 10);
//------------------------递归-----------------------------------
Console.Write("\n" + "递归" + "\n");
Program.递归(1);
//--------------------------goto---------------------------------
Console.Write("\n" + "goto" + "\n");
int c = 1;
aaa: //aaa是一个标签 在语句前面声明了标签,goto才能调用
{
if (c < 10)
{
Console.Write(c + " ");
c++;
goto aaa;
}
}
Console.ReadLine();
效果如下: