Array.Reverse 是如何工作的?

How does Array.Reverse work?

我有一段简单的代码..

bool isTrue(char[] number)
{
    char[] reverse = number;
    Array.Reverse(reverse);
}

在调试应用程序时,我看到数字也颠倒了。有人可以向我解释为什么吗?它与 char 数组的工作方式有关,还是我遗漏了什么?

char[] reverse = number;

您不是在创建数组的副本,而只是对它的另一个引用。

如果要复制数组,可以使用.Clone():

char[] reverse = number.Clone();

尝试使用 number.CopyTo(reverse, 0) 而不是 char[] reverse = number;