2013-03-02 250 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

當我的猜測是,你要共享的參考陣列。即使它是數組內的結構體,數組本身也是一個引用類型。你需要發佈你的數組實例代碼來驗證一種或另一種方式,但是