111,044
社区成员
发帖
与我相关
我的任务
分享
public class SharedData
{
public List<float>[][] zb_list;
public float[][] zb_average_value;
public SharedData()
{
// zb_list = new List<float>[360][];
zb_average_value = new float[360][];
zb_list = Enumerable.Repeat(Enumerable.Repeat(new List<float>(), 800).ToArray(), 360).ToArray();
}
}
//使用过程,button按钮的事件
private void button1_Click(object sender, EventArgs e)
{
AppCoreSharedData apdat = new AppCoreSharedData();
apdat.zb_list = Enumerable.Repeat(Enumerable.Repeat(new List<float>(), 800).ToArray(), 360).ToArray();
for (int j = 0; j < 360; j++)
for(int k=0;k<800;k++)
{
apdat.zb_list[j][k]=0.1f;
}
}
错误: 无法将类型“float”隐式转换为“System.Collections.Generic.List<float>” //}
List<float>[][] zb_list;
zb_list = zb_list = Enumerable.Repeat(Enumerable.Repeat(new List<float>(), 800).ToArray(), 360).ToArray();
这样是对的
zb_list 是一个二维交错数组,其每个成员都是一个 List<float> 对象
你的问题在于 zb_list[idx] = new List<float>[800]; 后未对其中的每个 List<float> 实例化 public class SharedData
{
public float[][] zb_list;
public float[][] zb_average_value;
public SharedData()
{
zb_list = Enumerable.Repeat(Enumerable.Repeat(0f, 800).ToArray(), 360).ToArray();
zb_average_value = Enumerable.Repeat(Enumerable.Repeat(0f, 800).ToArray(), 360).ToArray();
}
}