如何在c#中使用静态方法

bao*_*ozi -3 c# static

为什么以下代码返回1,1,1而不是1,2,3?我想保留int temp价值,以便我可以在其他地方使用它.如果我Console.WriteLine(count())直接打电话,它会工作.

class Program
{
    private static int start = 0;
    static void Main(string[] args)
    {
        int temp = count();
        Console.WriteLine(temp);
        temp = count();
        Console.WriteLine(temp);
        temp = count();
        Console.WriteLine(temp);
    }

    static int count()
    {
        return start + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

Nde*_*ech 8

如果您希望计数返回每次调用时递增的值,则应将修改后的值存储回变量中:

static int count()
{
    start = start + 1;
    return start;
}
Run Code Online (Sandbox Code Playgroud)