Нет и да. Коллекции EntriesInDirectory не существует. Тем не менее, это просто вопрос сравнения строк, чтобы выбрать записи, которые «принадлежат» в определенном каталоге.
В LINQ это выглядит так:
var selection = from e in zip.Entries
where e.FileName.StartsWith(directoryName)
select e;
В цикле for это выглядит так:
var list = new List<ZipEntry>();
foreach (var e in zip.Entries) {
if (e.FileName.StartsWith(directoryName)) {
list.Add(e);
}
}
РЕДАКТИРОВАТЬ
Возможно, вам придется выполнить преобразования для чувствительности к регистру. В Windows регистр не имеет значения в именах файлов.
Дальнейшее объяснение: формат zip не рассматривает запись directory в файле zip как контейнер. Контейнерных связей между записями каталога и записями файла не существует. Единственный способ определить, принадлежит ли запись файла в конкретный каталог, - это проверить полное имя записи файла. Если имя записи начинается с имени рассматриваемого каталога, то запись находится «в» каталоге.