C# 4.0 为什么我的程序代码没有在c#中无限地运行goto语句? 类程序 { 静态void Main() { int i; 对于(i=0;i

C# 4.0 为什么我的程序代码没有在c#中无限地运行goto语句? 类程序 { 静态void Main() { int i; 对于(i=0;i,c#-4.0,goto,C# 4.0,Goto,//输出:0 1 2 3 4正在执行转到。不幸的是,变量中没有任何变化,因此执行的路径与以前完全相同:它再次到达goto。这是一个无限循环 请注意,特别是i在跳转前后具有相同的值。也许这是你的误解 您应该学习使用调试器。单步执行程序时可以看到这一点。正在执行goto。不幸的是,变量中没有任何变化,因此执行的路径与以前完全相同:它再次到达goto。这是一个无限循环 请注意,特别是i在跳转前后具有相同的值。也许这是你的误解 您应该学习使用调试器。您可以在单步执行程序时看到这一点。i%2计算余数。为了

//输出:0 1 2 3 4
正在执行
转到
。不幸的是,变量中没有任何变化,因此执行的路径与以前完全相同:它再次到达
goto
。这是一个无限循环

请注意,特别是
i
在跳转前后具有相同的值。也许这是你的误解


您应该学习使用调试器。单步执行程序时可以看到这一点。

正在执行
goto
。不幸的是,变量中没有任何变化,因此执行的路径与以前完全相同:它再次到达
goto
。这是一个无限循环

请注意,特别是
i
在跳转前后具有相同的值。也许这是你的误解


您应该学习使用调试器。您可以在单步执行程序时看到这一点。

i%2
计算余数。为了满足条件
i%2
0
,数字
i
必须为偶数。因此,
i必须是
0、2、4、6或8
,其中没有一个是
5`。
i%2
计算余数。为了满足条件
i%2
0
,数字
i
必须为偶数。所以
我必须是
0、2、4、6或8
,没有一个是
5`。
class Program
{
    static void Main()
    {
       int i ;
        for ( i=0; i < 10;i++ )
        {
       // p: Console.WriteLine("hello");
        p:  if(i%2!=0)
            {
                if(i==5)
                { 
                    goto p; 
                }
            }
            Console.WriteLine(i);
        }
        Console.ReadKey();
    }
}