C#学习笔记3:while,do-while,for,foreach

-呈阶梯状分布- 37 次阅读 281 字 发布于 2026-07-16 最后更新于 2026-07-16 C#学习笔记


while循环

C#中的while循环结构如下:

while (条件)
{
    代码块...(满足条件时不断执行,直到条件不满足)
}

同Python中的:

while 条件:
    代码块...(满足条件时不断执行,直到条件不满足)

如果检测到条件满足,执行一次代码块,之后每次检测到条件满足,都会不断循环执行代码块,直到条件不满足,才会执行下面的代码。比较容易理解,这里不过多赘述。

do-while循环

结构如下:

do
{
    代码块...
} while (条件);

需要注意的是,while (条件)的后面需要添加冒号";"

那么这段代码什么意思呢?这里给出同义代码如下:

代码块...
while (条件)
{
    代码块...
}

可以看出,do-while的实质是先执行一次代码块,再检查条件是否满足,如果满足,才会进入循环直到条件不满足。相当于无论如何先执行一次代码块的while循环。

for循环

来看一个从1加到100的程序:

int result = 0;
for (int i = 1; i<=100; i++)
{
    result += i;
}
Console.WriteLine(result);

在Python中的同义转换如下:

result = 0
for i in range(1, 101, 1):
    result += i
print(result)

但实际上,这段C#代码真正地执行过程应该是这样:

int result = 0;
int i = 1;
while (i <= 100) 
{
    result += i;
    i++;
}
Console.WriteLine(result);

生成了一个int类型的i,设置初始值为1;
然后开始循环,检测如果i<=100,进入循环;
给result加上i(i根据循环推进依次为1~100);
将i自增1;
直到i>100,不加了,退出循环体,输出result。

foreach循环

foreach循环可以对可迭代对象进行迭代。

可迭代对象,你可以简单理解为有多个内容的对象,类似于列表。而迭代就是从这个列表中一个个将东西取出,对列表中的所有元素采取相同操作。

可迭代对象,我们目前已知的只有字符串,"urgay"可以看作一个字符列表,列表中的每一项分别是'u', 'r', 'g', 'a', 'y',这些可迭代对象内的项我们称之为元素。
我们以此为例,进行演示如下:

foreach (char i in "urgay")
{
    Console.WriteLine(i);
}

运行结果如下:

u
r
g
a
y

可以看出,foreach的实质就是循环的1、2、3、4...次中,i分别为可迭代对象中的第1、2、3、4...个元素,循环次数就是可迭代对象的元素总数。

循环篇结束~下一篇讲数组和字符串的高级用法!