for循环里面Process.start出错!急,在线等!

shichen4 2010-10-25 02:57:47
for (; i >= 0; i--)
{
System.Diagnostics.Process.Start(fileName[i]);
}
fileName[]是字符串数组,该循环是打开多个文件;如果定义fileName为字符串变量的话,可以打开这一个文件。

但是执行结果是:提示Process.start()尚未提供文件名,因此无法启动进程。

查看fileName[]数组的值:file[0]="C:\\abc.txt",里面是有值的。
求高手帮助,谢谢!
...全文
190 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
k0mmDu 2010-10-25
  • 打赏
  • 举报
回复
结贴真迅速,其实吧我觉得把循环计数定义再循环外不太好,我还是比较推荐传统的写法,每次循环定义一个循环计数,这样比较不容易出错.
shichen4 2010-10-25
  • 打赏
  • 举报
回复
是我粗心了,没考虑到最后一次i的自增;真丢人。。。呵呵
谢谢你!
k0mmDu 2010-10-25
  • 打赏
  • 举报
回复
你赋值时候i++了 然后System.Diagnostics.Process.Start(fileName[i]);
这时fileName[i]中的i是经过i++的值,而实际上这个只还没有被赋值
例如你fileName[3]="aa.txt"
执行完赋值操作之后i就等于4了
然后System.Diagnostics.Process.Start(fileName[i]);确实会报错
k0mmDu 2010-10-25
  • 打赏
  • 举报
回复
你i定义在那里还是不知道么
我推荐for(int i=fileName.length-1;i>=0;i--)
然后循环试试看.
看看报异常时候i是多少,设个断点再调试下
shichen4 2010-10-25
  • 打赏
  • 举报
回复
i在数组赋值的时候是自增的,现在使用i增加到的值再去自减。我没有把上面的代码贴全,不好意思
if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if (!string.IsNullOrEmpty(openFileDialog.FileName))
{
// ListBox.Items.Add(fileName);
fileName[i] = openFileDialog.FileName+'\0';
this.listBox1.Items.Add(fileName[i]);
i++;
}
}
k0mmDu 2010-10-25
  • 打赏
  • 举报
回复
for循环不用定义i初始值么 还是i--

111,129

社区成员

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

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

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