C# 声明二维双数组内部结构

C# 声明二维双数组内部结构,c#,C#,如何在结构中声明二维双数组 public struct PROBABILTY_SETUP { double[,] probablity[2,9613]; } 上面的代码不工作 public struct PROBABILTY_SETUP { double[,] probablity; public PROBABILTY_SETUP(double [,] probability) { this.probab

如何在结构中声明二维双数组

public struct PROBABILTY_SETUP
{
    double[,] probablity[2,9613];
}
上面的代码不工作

public struct PROBABILTY_SETUP
    {
        double[,] probablity;

        public PROBABILTY_SETUP(double [,] probability)
        {
            this.probablity = probability;
        }
    }
您必须使用所需的数组调用构造函数:


概率设置mySetup=新概率设置(新双精度[29613])

因为你在一个
结构中,你必须使它成为
静态的
,因为你不能为一个非静态的
结构成员拥有一个初始值设定项(另一个选项是使用构造函数)

但是,如果它是一个
,则在没有
静态
关键字的情况下,下面的代码可以工作

试试这个:

public struct PROBABILITY_SETUP
{
    static double[,] probablity = new double[2, 9613];
}

<强>如果您需要多个,但是考虑使用<代码>构造函数< /Calp>>/P>它不能在结构结构中有实例字段初始化器是值类型,并且不能给它们分配默认值。如果使它静态,只能有一个。@ SLCURTURE,我最好在我的回答中提到。如果OP想要不止一个,那么构造函数就是最好的选择。这个问题需要更多的信息来说明你想做什么。现在不可能知道最好的答案。