1

CardDetails 是一个结构。

public static void ParceIntricaciesJabber(ref CardDetails[] WhichArray) 
{
  WhichArray[0].ID = 50;
  WhichArray[0].Type = "None";
}

在调用中:

ParceIntricaciesJabber(ref OpponentCards);

不过,在我调用该函数之后,另一个名为 PlayerCards 的数组会以与 OpponentCards 完全相同的方式受到影响——尽管它被声明为两个不同的数组。它们具有相同数量的元素和相同的数据类型,仅此而已。

这可能应该很明显,但我没有看到。该代码在 VB.NET 中工作。我究竟做错了什么?

编辑:初始化代码:

public static class Module1{

  public static CardDetails[] PlayerCards = new CardDetails[100];
  public static CardDetails[] OpponentCards = new CardDetails[100];

}

并且在导航到表单时

for (int n = 1; n <= 100; n++)
        {
            Module1.PlayerCards[n] = new CardDetails();
            Module1.OpponentCards[n] = new CardDetails();
        }
4

1 回答 1

0

我的猜测是您正在共享对数组的引用。即使它是数组内部的结构,数组本身也是一个引用类型。您将需要发布您的数组实例化代码以验证一种或另一种方式

于 2013-03-02T06:08:12.283 回答