2016-07-27 83 views
3

我有幾個全局數組,我在多個類中使用,它們都被賦予了相同的大小,此刻我對它們的所有大小進行了硬編碼,因爲C#可能不會按照它們的順序初始化這些變量'重寫,你不能有一個變量來設置它們的所有大小,是否有一種方法來設置一個變量來設置它們的所有大小?C#如何在啓動時設置全局數組的大小?

我有什麼:

public static Object[,] stocksObject = new Object[5,5]; 
public static double[] stocks = new double[5]; //array holding the stocks (prices) 

我想要什麼:

private int arraySize = 5; 
public static Object[,] stocksObject = new Object[arraySize,arraySize]; 
public static double[] stocks = new double[arraySize]; //array holding the stocks (prices) 

回答

3

爲了做到這一點,你必須做出arraySize恆定的(或靜態的,但更喜歡不斷在這裏)。只有這樣你才能參考它。

private const int arraySize = 5; 

其他字段是靜態的,所以你不能使用實例成員來初始化它們。對於'爲什麼const而不是static':你不希望有人在數組初始化後改變它的值。如果你的邏輯取決於這個變量,你可能會得到錯誤的代碼。

+0

正是我在找什麼,謝謝! – Peter

+0

對於常量來說這不是正確的C#命名約定,很奇怪,你提到它。 –

+0

非常感謝,我要讀這 – Peter

相關問題