数组存放到字典问题

tianchuncheng 2014-08-28 05:08:08

HSSFWorkbook hssfworkbook = new HSSFWorkbook(stream);
var hss =hssfworkbook.GetSheetAt(0);
for (int j = 0; j < hss.GetRow(0).Cells.Count; j++)
{

for (int i = 0; i <= hss.LastRowNum; i++)
{

arr.Add(hss.GetRow(i).GetCell(j));
}

}
str.Add(j,arr);
// arr.Clear();


}

foreach (ArrayList a in str.Values)
{
Console.WriteLine(a[0]);
}
Console.ReadKey();

}
不加上arr.CLear输出都是一样的值,加上后,报错。求大神指点 ?
...全文
537 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianchuncheng 2014-08-29
  • 打赏
  • 举报
回复
已解决,谢谢各位大神指点!
游离失所 2014-08-28
  • 打赏
  • 举报
回复
从头到尾我都没看到‘arr’有所改变过。。 所以你str.Add(j,arr) 里的value全部都是一样的。。
於黾 2014-08-28
  • 打赏
  • 举报
回复
ArrayList是引用类型,你不重新new,里面当然都是一样的东西
tianchuncheng 2014-08-28
  • 打赏
  • 举报
回复
运行结束后3个数组完全一样的
tianchuncheng 2014-08-28
  • 打赏
  • 举报
回复
放这边输出也是同样值 for (int i = 0; i <= hss.LastRowNum; i++)
於黾 2014-08-28
  • 打赏
  • 举报
回复
foreach (ArrayList a in str.Values) { Console.WriteLine(a[0]); } a是数组,你只输出第一个值,那就是输出的第一行?
bdmh 2014-08-28
  • 打赏
  • 举报
回复
for循环前clear
於黾 2014-08-28
  • 打赏
  • 举报
回复
你不敢放datatable里,本来就是表,非要数组套数组,也不嫌累

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧