C# 如何初始化多维结构数组
我一直在尝试通过数组初始化结构 代码如下:C# 如何初始化多维结构数组,c#,multidimensional-array,structure,C#,Multidimensional Array,Structure,我一直在尝试通过数组初始化结构 代码如下: struct test_struct { double a, b, c, d, e; public test_struct(double a, double b, double c, double d, double e) { this.a = a; this.b = b; this.c = c; this.d = d; this.e = e;
struct test_struct
{
double a, b, c, d, e;
public test_struct(double a, double b, double c, double d, double e)
{
this.a = a;
this.b = b;
this.c = c;
this.d = d;
this.e = e;
}
};
test_struct[,,] Number = new test_struct[2, 3]
{
{
{ 12.44, 525.38, -6.28, 2448.32, 632.04 },
{-378.05, 48.14, 634.18, 762.48, 83.02 },
{ 64.92, -7.44, 86.74, -534.60, 386.73 },
},
{
{ 48.02, 120.44, 38.62, 526.82, 1704.62 },
{ 56.85, 105.48, 363.31, 172.62, 128.48 },
{ 906.68, 47.12, -166.07, 4444.26, 408.62 },
},
};
我无法使用循环或索引来执行此操作。。我得到的错误是
数组初始值设定项只能在变量或字段初始值设定项中使用。尝试使用新的表达式
如何更正此代码?此代码是有效的C#,应该执行您想要的操作:
struct test_struct
{
double a, b, c, d, e;
public test_struct(double a, double b, double c, double d, double e)
{
this.a = a;
this.b = b;
this.c = c;
this.d = d;
this.e = e;
}
};
private test_struct[,] Number =
{
{
new test_struct(12.44, 525.38, -6.28, 2448.32, 632.04),
new test_struct(-378.05, 48.14, 634.18, 762.48, 83.02),
new test_struct(64.92, -7.44, 86.74, -534.60, 386.73),
},
{
new test_struct(48.02, 120.44, 38.62, 526.82, 1704.62),
new test_struct(56.85, 105.48, 363.31, 172.62, 128.48),
new test_struct(906.68, 47.12, -166.07, 4444.26, 408.62),
},
};
最终解决方案应包括以下所有意见:
private test_struct[,] Number;
public void test()
{
Number = new test_struct[2, 3]
{
{
new test_struct( 12.44, 525.38, -6.28, 2448.32, 632.04),
new test_struct(-378.05, 48.14, 634.18, 762.48, 83.02),
new test_struct( 64.92, -7.44, 86.74, -534.60, 386.73),
},
{
new test_struct( 48.02, 120.44, 38.62, 526.82, 1704.62),
new test_struct( 56.85, 105.48, 363.31, 172.62, 128.48),
new test_struct( 906.68, 47.12, -166.07, 4444.26, 408.62),
},
};
}
编译C#代码无效。是否确定逗号的数量<二维数组的code>test\u struct[,]Number=new test\u struct[2,3]应该是
test\u struct[,]Number=new test\u struct[2,3]
。错误消息中有什么不清楚的地方?。在代码的最后一行之前不应该有一个逗号。@PatrickHofman对不起,你是对的,相应地更改了答案。感谢您的快速回复。。