Я пытаюсь выяснить, как сначала проверить, что
В моем цикле, просматривая каждый файл в коллекции и пытаясь добавить его в коллекцию 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 \ Файлы упражнений \ SampleCode \ Original \ MyTest.cs"
Я не могу проверить, чтобы dup работал правильно ... он все еще пытается добавить это дважды в цикле.
Как проверить наличие файла [0] перед попыткой добавления? Я попытался LINQ .Any()
, но не смог получить правильный синтаксис, если даже смогу использовать LINQ для этого.
Я пробовал это, но я не делаю это правильно синтаксически:
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]))