C# 多线程 传参数 操作文件 报错

bwch_xm 2009-11-16 10:01:41
描述:
今天测试一个项目
关于用批量生成数据,然后写到磁盘上的制定文件内
我开启了一个线程用于生成数据(数据为四位,来源为:0-9 A-Z a-z)
代码如下

for (int i = 0; i < strNum.Length; i++)
{
for (int j = 0; j < strNum.Length; j++)
{
for (int k = 0; k < strNum.Length; k++)
{
for (int l = 0; l < strNum.Length; l++)
{
string str = strNum[i].ToString() + strNum[j].ToString() + strNum[k].ToString() + strNum[l].ToString();
arr.Add(str);
}
}
}
}


保存到ArrayList内

然后开启一个线程数组,在一个过程内执行取ArrayList内的数据并保存到磁盘制定文件夹下

线程数组需要传递一个参数为保存文件的文件名


string strPath = "C:\\" + strName;
while (arr.Count > 0)
{
lock (this)
{
File.AppendAllText(strPath, arr[0].ToString()); arr.RemoveAt(0);
}
}


传递参数strName是通过类传递的

问题:
1、这样设计合理吗?如果不合理请指出一个合理的设计方式
ps:数据量比较大 每次大概 600W条数据
2、这些语句执行到我红色标识的地方报错
报错为

请大家帮帮忙,这次真的很急,谢谢大家
分不多,如果有用回复,可以联系我,我再赚了之后给您
再次谢谢大家了
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bwch_xm 2009-11-16
  • 打赏
  • 举报
回复
原因找到了,我不能保存文件名为 com1.txt的文件
谢谢大家了,结贴了
bwch_xm 2009-11-16
  • 打赏
  • 举报
回复
对不起了,图片上传的太小了
这里补传
梦里开天 2009-11-16
  • 打赏
  • 举报
回复
别急 慢慢说 没说清楚谁也帮不了你啊

110,571

社区成员

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

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

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