2

我正在尝试验证 zip 文件中是否存在具有特定文件名的文件。有没有比以下更好的方法?

        using (ZipArchive archive = ZipFile.OpenRead(zipFilePath))
        {
            if (!archive.Entries.Any(e => e.Name.Equals(FileNameToCheckFor)))
            {
                // Throw an exception
            }

            foreach (ZipArchiveEntry file in archive.Entries)
            {
                // Do some processing. This is unrelated.
            }
        }
4

1 回答 1

4

由于ZipArchive.GetEntry如果条目不存在则返回 null,因此您可以将 lambda 表达式替换为:

 if (archive.GetEntry(FileNameToCheckFor) == null)
 {
      // Throw an exception
 }

这稍微简洁一些,但这并不意味着原始代码有任何不正确之处。

于 2013-05-07T00:18:18.433 回答