而永无止境的循环 [关闭]

while loops that will never end [closed]

提问人:benedict Cherlet 提问时间:10/13/2023 最后编辑:Joel Coehoornbenedict Cherlet 更新时间:10/18/2023 访问量:72

问:


这个问题是由一个错别字或一个无法再重现的问题引起的。虽然类似的问题可能在这里成为主题,但这个问题的解决方式不太可能帮助未来的读者。

上个月关闭。

如何让我的代码停止运行不间断 2. 我做错了什么,这个加法 i =+ 2;

using System;
namespace TestingNewShit
{
    class program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i <= 14)
            {
                Console.WriteLine(i);
                i =+ 2;
                if (i ==15)
                {
                    break;
                }
            }
        }
    }
}
C# Visual-Studio 循环 while-loop break

评论

5赞 Joel Coehoorn 10/13/2023
你想要,而不是+==+
1赞 T.J. Crowder 10/13/2023
你可能会认为 IDE 可以指出那里的一元是不必要的......+
1赞 stark 10/13/2023
i =+ 2;将 i 设置为 +2。
2赞 Joel Coehoorn 10/13/2023
=+两个独立的运算符。在此上下文中,是一元正运算符,而不是加法,并且是赋值运算符。通过这种组合,具有更高的优先级,并有效地导致无操作。然后,该值被赋值给 on very iteration。由于 never 超过,循环永远运行。你要做的是使用运算符,它每次都会增加,所以循环可以结束。+=+2ii14+=i
2赞 Flydog57 10/14/2023
而且,就其价值而言,由于从 0 开始,并且您一遍又一遍地将其递增 2(好吧,您打算将其递增 2),因此此语句永远不会触发:.是的,我知道你有,但是,死代码就是坏代码iif (i ==15)while (i <= 14)

答:

1赞 Michael Houlihan 10/13/2023 #1

应该是 i += 2,而不是 i =+ 2。 您正在分配(正)2,而不是添加 2。