私は最初にそれをチェックする方法を理解しようとしています
コレクションにある各ファイルをループして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が正しく機能するかどうかを確認できません...ループ内でこれを2回追加しようとします。
追加する前にfile[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]))