我正在尝试验证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.
            }
        }

最佳答案

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

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


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

关于c# - C#代码重构(lambda表达式),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16409180/

10-11 02:12