for (; i >= 0; i--)
{
     System.Diagnostics.Process.Start(fileName[i]);
}
fileName[]是字符串数组,该循环是打开多个文件;如果定义fileName为字符串变量的话,可以打开这一个文件。但是执行结果是:提示Process.start()尚未提供文件名,因此无法启动进程。查看fileName[]数组的值:file[0]="C:\\abc.txt",里面是有值的。
求高手帮助,谢谢!

解决方案 »

  1.   

    for循环不用定义i初始值么 还是i--
      

  2.   

    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++;
                    }
                }
      

  3.   

    你i定义在那里还是不知道么
    我推荐for(int i=fileName.length-1;i>=0;i--)
    然后循环试试看.
    看看报异常时候i是多少,设个断点再调试下
      

  4.   

    你赋值时候i++了 然后System.Diagnostics.Process.Start(fileName[i]);
    这时fileName[i]中的i是经过i++的值,而实际上这个只还没有被赋值
    例如你fileName[3]="aa.txt"
    执行完赋值操作之后i就等于4了
    然后System.Diagnostics.Process.Start(fileName[i]);确实会报错