EnumerateDirectories()
возвращает IEnumerable<DirectoryInfo>
вместо List<DirectoryInfo>
. Они бывают разных типов.
Вы могли бы просто поставить ToList()
в конце:
DirectoryInfo dirInfo = new DirectoryInfo(path);
List<DirectoryInfo> dirList = dirInfo.EnumerateDirectories("*.", SearchOption.AllDirectories).ToList();
Но это наивный вариант . Это часто не так хорошо для производительности. Есть причина, по которой IEnumerable<DirectoryInfo>
был выбран вместо этого. У этого есть некоторые хорошие преимущества с точки зрения использования памяти и операции "точно в срок / ленивый".
Так что лучшее исправление , вероятно, заменяет имя типа в начале строки на var
:
DirectoryInfo dirInfo = new DirectoryInfo(path);
var dirList = dirInfo.EnumerateDirectories("*.", SearchOption.AllDirectories);