2016-07-27 4 views
3

私は複数のクラスで使用するいくつかのグローバル配列を持っていますが、すべて同じサイズが与えられていますが、そのサイズのすべてがハードコードされています。書かれているように、すべてのサイズを設定するための変数を持つことはできません。すべてのサイズを設定する変数を持つ方法はありますか?C#起動時にグローバル配列のサイズを設定するにはどうすればよいですか?

私が持っているもの:

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を行う必要があり、それを行うために:私が欲しいもの

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

。あなただけがそれを参照することができます。

private const int arraySize = 5; 

他のフィールドは静的なので、インスタンスメンバーを使用して初期化することはできません。また、 'なぜ静的ではなく静的でないのか':配列を初期化した後に誰かが値を変更しないようにします。あなたのロジックがその変数に依存する場合は、バグの多いコードに終わるかもしれません。

+0

まさに私が探していたものです、ありがとう! – Peter

+0

これは、定数の正しいC#命名規則ではないので、あなたがそれを言及するのは奇妙です。 –

+0

ありがとう非常に、私はこれを読むつもりだ – Peter

関連する問題