检测到无法访问的代码.为什么?

本文关键字:代码 为什么 访问 检测 | 更新日期: 2023-09-27 17:59:07

我试图通过阅读Herbert Schildt的"c#4.0完整参考"来学习c#,在其中一个示例中,我收到了警告CS0162检测到无法访问的代码并在Console中加下划线。如何解决,为什么会发生这种情况?

using System;
class ProdSum
{
    static void Main()
    {
        int prod;
        int sum;
        int i;
        sum = 0;
        prod = 1;
        for (i = 1; 1 <= 10; i++)
        {
           sum = sum + i;
           prod = prod * i;
        }
        Console.WriteLine("Summ = " + sum);
        Console.WriteLine("Prod = " + prod);
        Console.ReadKey();
    }
}

检测到无法访问的代码.为什么?

1 <= 10始终为true,因此永远不会到达for循环后面的代码。你的意思是i <= 10

for (i = 1; i <= 10; i++)

您的条件是比较数字1和数字10

1 <= 10

这个表达式将始终为true,并且控制永远不会流出循环。

您可能需要i <= 10