我添加来自不同目录的文件,然后将它们保存到存档中。但是,我遇到了一个问题。范围内有大量的字符串,并且在此方法结束后会出现大量下降。
我该如何解决这个问题?我在考虑将添加的文件存储在列表框中。
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 ");
}
}
}
答案 0 :(得分:1)
这是一个问题:
listBox2.Text.Split(',');
ListBox的Text属性通常是一个空字符串。
尝试循环遍历ListBox的项目:
foreach (string file in listBox2.Items) {
}