Convert IEnumerable<string> into IEnumerable<FileIn

本文关键字:IEnumerable lt into FileIn string Convert gt | 更新日期: 2023-09-27 18:06:18

是否有办法让IEnumerable<FileInfo>脱离Directory.EnumerateDirectories(..) ?

我的方法是这样的

public static IEnumerable<String> EnumerateFiles(String path, String searchPattern, SearchOption searchOpt)
{
    try
    {
        IEnumerable<string> dirFiles = Enumerable.Empty<String>();
        if (searchOpt == SearchOption.AllDirectories)
        {
            dirFiles = Directory.EnumerateDirectories(path)
                                .SelectMany(x => EnumerateFiles(x, searchPattern, searchOpt));
        }
        return dirFiles.Concat(Directory.EnumerateFiles(path, searchPattern));
    }
    catch (UnauthorizedAccessException ex)
    {
        return Enumerable.Empty<String>();
    }
}

我也喜欢实现:

public static IEnumerable<FileInfo> EnumerateFiles(String path, String searchPattern, SearchOption searchOpt)
{
  //...code
}

Convert IEnumerable<string> into IEnumerable<FileIn

尝试使用DirectoryInfo。EnumerateFiles而不是