C#如何在启动时设置全局数组的大小?

时间:2016-07-27 09:42:36

标签: c# arrays

我有一些全局数组,我在多个类中使用,它们都被赋予相同的大小,目前我已经硬编码了所有的大小,我读到这是因为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)

1 个答案:

答案 0 :(得分:3)

为了做到这一点,你必须使arraySize成为常数(或静态,但在这里更喜欢常数)。只有这样你才能被引用。

private const int arraySize = 5;

其他字段是静态的,因此您无法使用实例成员对其进行初始化。对于“为什么常量而不是静态”的原因,您不希望有人在数组初始化后更改值。如果你的逻辑依赖于那个变量,你最终可能会遇到错误的代码。