C# - 对象引用:将一个对象的值分配给另一个对象



我正在努力围绕我在下面运行程序时所面临的问题缠住我的头:

using System;
namespace StringReversal
{
   class MainClass
   {
    public static void Main(string[] args)
    {
        string example = "word";
        char[] myArray = new char[example.Length];          
        myArray = example.ToCharArray(0, example.Length);
        char[] reverseArray = new char[example.Length];
        reverseArray = myArray;
        Array.Reverse(reverseArray);
        Console.WriteLine(myArray);
        Console.WriteLine(reverseArray);
      }
   }
 }

输出如下:

drow

drow

我最好的猜测是我正在使用对象引用将myArray的值分配给reverseArrays,然后在reverseArray上运行Array.Reverse()方法。

我确定已经讨论了这个问题,但我想知道我是否能以这种方式来解释这一点。我一直在没有问题的情况下为变量分配值,如下:

 int x = 10;
 int y = 5;
 x = y;
 // x would then equal 5, correct?

感谢您的见解!

您是在代码中分配对数组的引用,而不是制作副本:

reverseArray = myArray;

因此,因此您基本上有2个引用对同一对象。您必须通过调用array.copy将myarray复制到reversearray,例如

相关内容

最新更新