📅  最后修改于: 2023-12-03 15:13:53.020000             🧑  作者: Mango
在C#中,while和do while都是循环结构,但它们的执行方式有所不同。本文将介绍这两种循环的区别,并给出示例代码以进一步理解。
while循环是最基本的循环结构之一,它的语法如下:
while (condition)
{
// statements to be executed repeatedly while the condition is true
}
while循环先判断条件是否成立,如果成立就执行循环体中的语句,然后再继续判断条件是否成立,如果依然成立就继续执行,以此类推。当条件不成立时,循环结束。
下面是一个计算从1到n的和的示例代码:
int n = 10;
int sum = 0;
int i = 1;
while (i <= n)
{
sum += i;
i++;
}
Console.WriteLine("Sum of 1 to {0} is {1}", n, sum);
上述代码中,循环体中的语句会一直执行直到i>n为止。注意要在循环外定义变量i和sum。
do while循环也是一种循环结构,它的语法如下:
do
{
// statements to be executed at least once
// loop until condition is false
}
while (condition);
do while循环先执行一次循环体中的语句,然后再判断条件是否成立,如果成立就继续执行循环体中的语句,然后再继续判断条件是否成立,以此类推。当条件不成立时,循环结束。
下面是一个输入数字直到用户输入0为止的示例代码:
int num;
do
{
Console.Write("Enter a number (0 to exit): ");
num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("You entered {0}", num);
}
while (num != 0);
上述代码中,do while循环会先执行一次读取用户输入的语句,然后再判断用户是否输入了0,如果没有就继续执行读取用户输入的语句,以此类推,直到用户输入了0为止。
while和do while的区别在于,while循环会先判断条件是否成立,如果条件不成立就不会执行循环体中的语句;而do while循环至少会执行一次循环体中的语句,然后再判断条件是否成立。
下面是一个示例代码,用于验证上述结论:
int x = 5;
while (x < 0)
{
Console.WriteLine("This will never be executed");
}
do
{
Console.WriteLine("This will be executed once");
}
while (x < 0);
上述代码中,while循环中的语句永远不会被执行,因为x的初始值是5,不满足x<0的条件;而do while循环至少会执行一次循环体中的语句,因为它会先执行一次再判断条件是否成立。
while和do while都是C#中常用的循环结构,它们的区别在于循环体中的语句是否至少会被执行一次。在编写程序时,应根据实际需求选择使用哪种循环结构。