将多个文件传递给函数

本文关键字:函数 文件 | 更新日期: 2023-09-27 18:12:30

我有一个函数处理xml文件后确定它由OpenFileDialog,它支持文件的多重选择

                    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]);
                }

但是当选择文件时,只将最后选择的文件传递给函数,而其他文件只在列表中读取。
我想选择多个文件并传递给这个函数来逐个处理这些文件,而不需要手动传递文件给它。

有人能解释一下怎么做吗?给我一段代码或链接?

将多个文件传递给函数

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

尽管如此,如果您想将多个文件传递给函数,只需从 更改签名
void XmlProcess(string file) // should be something very similar

void XmlProcess(IEnumerable files)

现在你可以传递一个数组,一个列表或任何其他实现IEnumerable接口的对象