将多个文件传递给函数

Pass Multiple files to function

我有一个函数在 OpenFileDialog 确定后处理 xml 个文件,它支持多个 select 文件

                    openFileDialog1.Multiselect = true;
                    openFileDialog1.Filter = "*.xml|*.XML";
                    openFileDialog1.Title="Please Select Xml file to convert ";
                    if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
                    {
                        foreach (string file in openFileDialog1.FileNames)
                        {
                           //string lsit contain file names
                            Filestoconvert.Add(file);
                        }
                    }

函数在其上进行处理。

               for (int i = 0; i < Filestoconvert.Count; i++)
                {
                    XmlProcess( Filestoconvert[i]);
                }

但是当 select 文件只有最后一个 selected 文件传递​​给函数时,其他文件只在列表中读取。
我想select多个文件传给这个函数一个一个处理这些文件,不用手动传文件给它

任何人都可以解释如何做到这一点吗?给我一段代码或者link?

没有看到 XmlProcess 的实现,这是一个猜谜游戏。你说这个方法没有按预期工作,但你没有向我们展示这个方法是如何工作的。你怎么能指望别人帮助你呢?

尽管如此,如果你想将多个文件传递给函数,只需将签名从

void XmlProcess(string file) // should be something very similar

void XmlProcess(IEnumerable files)

现在您可以传递数组、列表或任何其他实现 IEnumerable 接口的对象。