C# 控制台应用程序 ... 阶乘应用程序代码

C# console application ... factorial application code

我正在创建一个控制台应用程序来查找数字 N 的阶乘。我使用了以下代码:

class Program
{
    static void Main(string[] args)
    {
        Console.Write("Please enter N= ");
        int n = int.Parse(Console.ReadLine());
        int i = 1;
        while ( i < n)
        {
            n = n*i;
            i++;
        }
        Console.WriteLine(n);
        Console.ReadLine();
    }
}

但效果不佳。输出是一个 负数。我输入 n= 3,输出 = -46798313。

我该如何解决这个问题?

注意:我必须使用 "while loop"。

class Program
{
    static void Main(string[] args)
    {
        Console.Write("Please enter N= ");
        int n = int.Parse(Console.ReadLine());
        int i = 1;
        int output = 1;
        while (i <= n)
        {
            output = output * i;
            i++;
        }
        Console.WriteLine(output);
        Console.ReadLine();
    }
}