C# 从不同目录中选择多个文件

C# 从不同目录中选择多个文件,c#,winforms,C#,Winforms,我添加来自不同目录的文件,然后将它们保存到存档中。然而,我遇到了一个问题。作用域中有大量字符串,在该方法结束后,会出现大量下降 我怎样才能解决这个问题?我正在考虑将添加的文件存储在列表框中 if (sfd.ShowDialog() == DialogResult.OK) { string[] files = listBox2.Text.Split(',');// here if (File.Exists(sfd.FileName

我添加来自不同目录的文件,然后将它们保存到存档中。然而,我遇到了一个问题。作用域中有大量字符串,在该方法结束后,会出现大量下降

我怎样才能解决这个问题?我正在考虑将添加的文件存储在列表框中

if (sfd.ShowDialog() == DialogResult.OK)
        {
              string[] files = listBox2.Text.Split(',');// here
            if (File.Exists(sfd.FileName))
            {
                if (MessageBox.Show("Such file exist, rewrite?", "",
                    MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    File.Delete(sfd.FileName);

                    ZipArchive zip = ZipFile.Open(sfd.FileName, ZipArchiveMode.Create); 

                    foreach (string file in files)
                    {
                        zip.CreateEntryFromFile(file, Path.GetFileName(file), CompressionLevel.NoCompression);
                    }
                    zip.Dispose();
                    MessageBox.Show("File successfully created ");
                }

            }

        }
这是一个问题:

listBox2.Text.Split(',');
ListBox的Text属性通常是空字符串

请尝试在列表框的项目之间循环:

foreach (string file in listBox2.Items) {

}

非常正确。让你想知道,一个空字符串怎么会产生“大量字符串”。你是回答这类极其模糊问题的先驱。背上有箭。