问题描述:创建若干个数组,个数由参数决定。每个数组大小都是一样的,而且已知的;
我这样创建之后,改变List中的任何一数组,其他数组都跟着变了。该如何深复制出多个独立的数组,并add到List中?
谢谢; protected void InitChannelSize(int nSubLoadCase)
{
double[] ChannelData = new double[134];
double[] ChannelData_Copy = new double[134];
List_ChannelData = new List<double[]>(); for(int i=0;i<nSubLoadCase;i++)
{
Array.Copy(ChannelData, ChannelData_Copy, ConstNumChannel * 6);
List_ChannelData.Add(ChannelData_Copy);
}
return;
}
我这样创建之后,改变List中的任何一数组,其他数组都跟着变了。该如何深复制出多个独立的数组,并add到List中?
谢谢; protected void InitChannelSize(int nSubLoadCase)
{
double[] ChannelData = new double[134];
double[] ChannelData_Copy = new double[134];
List_ChannelData = new List<double[]>(); for(int i=0;i<nSubLoadCase;i++)
{
Array.Copy(ChannelData, ChannelData_Copy, ConstNumChannel * 6);
List_ChannelData.Add(ChannelData_Copy);
}
return;
}
解决方案 »
- “无法获取托管类型的地址和大小,或无法声明指向它的指针”如何解决
- .netC# MDI调用子窗口函数。
- [分享][转载]落后的cout与前卫的printf
- 欢迎加入IT讨论群,爱好C#的同志们欢迎加入(11375923)
- 如何用Socket连续传输图片呢?
- 服务器资源管理器中无法创建创建数据连接???
- 菜鸟想问问form1的language属性有什么用??怎么用?能开发出多国语言的程序吗??
- 在C#环境下.net程序在不同分辨率机器上的显示问题,烦请关注...
- 个性化窗体??
- 关于datagrid模板列传值问题:
- 速度还能更快吗-求见证奇迹
- 在winform进行可视化数据,类似于地质图.求教思路.
double[] ChannelData_Copy = new double[134];
移动到for循环里边:
Array.Copy(ChannelData, ChannelData_Copy, ConstNumChannel * 6);
之前。因为数组是引用,你在循环中反复向同一个数组的引用填入数据,最后List里边的所有对象都是同一个ChannelData_Copy的引用。
不是
toarray复制了一个新的数组