递归函数中的数组的行为类似于静态数组

时间:2019-05-31 05:34:53

标签: c# arrays recursion

例如,如果我为递归方法创建3个实例,并且尝试在第三个实例中更改数组的值,则在第一个和第二个实例中也将更改它的值。如何防止这种情况发生?

static void Main(string[] args)
        {
            Program p = new Program();

            int[] startingArray = new int[3];
            p.Recursion(startingArray,0);
            Console.Read();
        }
private void Recursion(int[] array, int count)
        {

            if (count == 2)
            {
                array[0] = 1;
                Console.WriteLine(array[0]);
                return;
            }
            else
            {
                count++;
                Recursion(array, count);
            }
            Console.WriteLine(array[0]);
            return;

        }

输出: 1个 1个 1

0 个答案:

没有答案