C#代码重构(lambda表达式)

时间:2013-05-07 00:04:39

标签: c#

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

1 个答案:

答案 0 :(得分:4)

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

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

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