c#中递增值的问题

本文关键字:问题 | 更新日期: 2023-09-27 18:05:22

我目前正在尝试获得一个每次运行时增加一个的数字,我使用while循环,所以理论上每次循环在下面的代码中运行时,int I应该返回1,2,3,4等。尽管它返回的是1,1,1,1,1,1。我就是想不明白这是怎么回事。

public static void getresponse(ref int i)
{
    i++;
    System.Console.WriteLine(i);
}

c#中递增值的问题

你是在重新声明i,并在每次循环运行时将其设置为0。

int i = 0移出while循环。

    int i = 0;
    while (true)
    {
        getresponse(ref i);
    }

在while循环外声明。每次都设置为0。

static void Main(string[] args)
{
    int i = 0;
    while (true)
    {
        getresponse(ref i);
    }
}
public static void getresponse(ref int i)
{
  i++;
  System.Console.WriteLine(i);
}

您注意到每次迭代都将I重置为0吗?

只要在while语句块外声明I就可以了

将计数器置于循环之外。

static void Main(string[] args)
{
    int i = 0;
    while (true)
    {
        getresponse(ref i);
    }
}
public static void getresponse(ref int i)
{
   i++;
   System.Console.WriteLine(i);
}