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 を返すため、ラムダ式を次のように置き換えることができます。

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

これはもう少し簡潔ですが、元のコードが間違っていることを意味するものではありません。

于 2013-05-07T00:18:18.433 に答える