我试图弄清楚如何首先检查
在遍历集合中的每个文件并尝试将其添加到 ZipFile 集合中的循环中,我得到了:
using (var zip = new ZipFile())
{
foreach(...)
{
var tryFile = Directory.
GetFiles(fileLocalization, fileName,
SearchOption.TopDirectoryOnly);
if (!string.IsNullOrEmpty(file[0]))
zip.AddItem(file[0], GetPathStructure(file.NameInContainer));
}
}
ZipFile 类型来自Ionic.Zip.dll
问题是AddItem
错误出来了,我得到一个具有相同密钥的项目已经被添加。因此,例如,最后它会尝试添加之前已在此 zip 字典中添加的密钥:
"C:\www\files\233272\Exercise Files\SampleCode\Original\MyTest.cs"
我无法检查 dup 是否正常工作……它仍然尝试在循环中添加两次。
在尝试添加之前如何检查任何文件 [0]?如果我什至可以为此使用 LINQ,我尝试LINQ .Any()
了但无法获得正确的语法。
我试过了,但我在语法上没有这样做:
if (!string.IsNullOrEmpty(tryFile[0]) && !zip.Contains(tryFile[0])
也试过
if (!string.IsNullOrEmpty(tryFile[0]) && !zip.Any(zip[tryFile[0]])
也试过
if (!string.IsNullOrEmpty(tryFile[0]) && !zip.ContainsEntry(tryFile[0]))