ins*_*get 3 c# arrays initialization
我正在尝试制作一些测试数据来测试我的代码的某些功能.为此,我需要一个double[][]
.我正在尝试使用一个函数,该函数将一个double[][]
输入参数作为输入参数并将包含测试数据的局部变量复制到其上.但是,我得到一个我不太了解的错误(我确定这是一个非常基本的错误,这就是为什么我无法谷歌它),理解/修复哪些我会感激任何帮助.
private void makeData(double[][] patterns)
{
double[][] data = new double[2][];
// exists so that I can change `data` easily, without having to change the core functionality of copying it over to `patterns`
data[0] = {1.0,8.0}; // error!
// copy over everything from data into patterns
}
Run Code Online (Sandbox Code Playgroud)
上面代码中标记的行给出了错误Only assignment, call, increment, decrement, and new objects can be used as a statement
.对此,我的反应是"不是data[0] = {1.0,8.0};
作业?
我很困惑,所以我很感激任何帮助
你想做
data[0] = new[] {1.0, 8.0};
Run Code Online (Sandbox Code Playgroud)
花括号初始值设定项仅在您创建对象/数组时有效.他们自己不工作.
您可以专门指定类型:
data[0] = new double[] {1.0, 8.0};
Run Code Online (Sandbox Code Playgroud)
但是,如果编译器可以推断出正确的类型(在您的情况下,它可以),则不必如此.