例如,如果我为递归方法创建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