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

本文关键字:数组 全局 设置 启动 | 更新日期: 2023-09-27 17:58:44

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

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

为了做到这一点,您必须将arraySize设为常量(或静态,但这里更喜欢常量)。只有这样你才能参考它。

private const int arraySize = 5;

其他字段是静态的,因此不能使用实例成员来初始化它们。对于"why const And not static":您不希望有人在数组初始化后更改值。如果您的逻辑依赖于该变量,那么您可能会出现错误代码。