2013-03-02 85 views
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(); 
     } 
+1

你需要使用'ref'吗?那是你的问题。 – 2013-03-02 04:54:15

+0

删除ref没有做任何事情:( – 2013-03-02 05:55:30

+0

你怎么实例化这两个数组? – 2013-03-02 06:05:10

回答

0

当我的猜测是,你要共享的参考阵列。即使它是数组内的结构体,数组本身也是一个引用类型。你需要发布你的数组实例代码来验证一种或另一种方式,但是