此问题与我以前的post有关。在这种情况下,我尝试获取类型为List<DirectoryInfo>
的变量,而不是检索目录的全名。
此代码不太有效
错误。DirectoryInfo dirInfo = new DirectoryInfo(path); List<DirectoryInfo> dirList = dirInfo.EnumerateDirectories("*.", SearchOption.AllDirectories);
引发无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'System.Collections.Generic.List'
以及此版本,
List<DirectoryInfo> dirList = dirInfo.EnumerateDirectories<DirectoryInfo>("*.", SearchOption.AllDirectories);
引发此错误:
非通用方法'DirectoryInfo.EnumerateDirectories()'不能与类型参数一起使用。
任何建议或技巧都将不胜感激。
此问题与我以前的帖子有关。在这种情况下,我尝试获取类型List
这是因为EnumerateDirectories
方法返回IEnumerable<DirectoryInfo>
的类型,而您期望的类型是List<DirectoryInfo>
,因此您需要通过添加IEnumerable
将List
强制转换为ToList()
,如下所示:
List<DirectoryInfo> dirList = dirInfo.EnumerateDirectories<DirectoryInfo>("*.", SearchOption.AllDirectories).ToList();
返回EnumerateDirectories()
而不是IEnumerable<DirectoryInfo>
。它们是不同的类型。