如何解决C#中while循环无限运行问题?i =+ 2写法有误怎么办?
C#循环与赋值问题解答
一、i =+ 2的错误
你写的这个语句完全写错了——i =+ 2其实是把i直接赋值成2,等价于i = +2,根本不是给i在原有值基础上加2。正确的写法应该是i += 2(这是C#的复合赋值运算符,含义是i = i + 2),或者直接写i = i + 2也可以。
二、解决无限循环的问题
你的循环之所以无限运行,核心原因就是上面的赋值错误:每次循环i都会被重置为2,永远满足i <=14的条件,自然停不下来。
修复赋值语句之后,循环会正常执行:i从0开始,每次加2,依次输出0、2、4……直到14,下一次i变成16时,不再满足i <=14的条件,循环就会自动终止。另外你写的if (i ==15)判断完全多余,因为i每次加2,永远不可能等于15,直接删掉就行。
修复后的完整代码:
using System; namespace TestingNewShit { class Program // 注意C#类名约定首字母大写,原代码的program改成Program更规范 { static void Main(string[] args) { int i = 0; while (i <= 14) { Console.WriteLine(i); i += 2; // 修复后的加法赋值语句 } } } }
额外提一句:如果遇到其他无限循环的场景(比如调试时),可以在控制台按Ctrl + C强制终止程序。
内容的提问来源于stack exchange,提问作者benedict Cherlet
相关产品推荐
相关产品推荐

