推送对象列表
Pushing a List of objects
我有一个 class 定义:
public class SavedScan
{
public List<List<PointData>> SScan;
public class PointData
{
public float amplitude;
}
public SavedScan()
{
SScan = new List<List<PointData>>();
}
}
然后我有一个 for 循环,做:
for (int i = 0; i < 10; ++i)
{
List<SavedScan.PointData> tmp = new List<SavedScan.PointData>();
SavedScan.PointData pointData = new SavedScan.PointData();
for (int j = 0; j < 10; ++j)
{
pointData.amplitude = 5.0;
tmp.Add(pointData);
}
ss.SScan.Add(tmp);
}
有趣的是,当我 运行 我的调试器进入 tmp.Add(pointData)
时,我可以看到正在读取 pointData
结构。然而,当它跳出for循环并进入ss.SScan.Add(tmp)
的那一刻,tmp
内部的pointData.amplitude
值全部重置为0。
我不知道哪里出错了,非常感谢您的帮助。
在循环中创建您的 PointData 实例:
for (int j = 0; j < 10; ++j)
{
SavedScan.PointData pointData = new SavedScan.PointData();
pointData.amplitude = 5.0;
tmp.Add(pointData);
}
我有一个 class 定义:
public class SavedScan
{
public List<List<PointData>> SScan;
public class PointData
{
public float amplitude;
}
public SavedScan()
{
SScan = new List<List<PointData>>();
}
}
然后我有一个 for 循环,做:
for (int i = 0; i < 10; ++i)
{
List<SavedScan.PointData> tmp = new List<SavedScan.PointData>();
SavedScan.PointData pointData = new SavedScan.PointData();
for (int j = 0; j < 10; ++j)
{
pointData.amplitude = 5.0;
tmp.Add(pointData);
}
ss.SScan.Add(tmp);
}
有趣的是,当我 运行 我的调试器进入 tmp.Add(pointData)
时,我可以看到正在读取 pointData
结构。然而,当它跳出for循环并进入ss.SScan.Add(tmp)
的那一刻,tmp
内部的pointData.amplitude
值全部重置为0。
我不知道哪里出错了,非常感谢您的帮助。
在循环中创建您的 PointData 实例:
for (int j = 0; j < 10; ++j)
{
SavedScan.PointData pointData = new SavedScan.PointData();
pointData.amplitude = 5.0;
tmp.Add(pointData);
}