使用 .net ZipArchive 检查 zip 存档是否包含名称为空的文件夹 class

Check if zip archive contains an empty folder by name using .net ZipArchive class

有什么方法可以确定 .net 4.5 ZipArchive 是否包含具有指定名称的空文件夹?

据我所知,只有一个忽略空文件夹的条目集合。

我没有空文件夹被忽略的问题,以下对我有用:

string zipPath = @"C:\test.zip";

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
    /* Find all folders (elements ending with "/"), and exclude 
    * those containing elements (FullName starts with folder name, FullName is
    * longer than folder name) */
    var entries = archive.Entries.Where(o1 => o1.FullName.EndsWith("/")
        && !archive.Entries
        .Any(o2 => o2.FullName.StartsWith(o1.FullName) 
            && o2.FullName.Length > o1.FullName.Length)).ToList<ZipArchiveEntry>();
        }