时间:2018-01-08 标签:c#linq: Filter List of Files based on File Size

标签 c# linq

我需要一些帮助来使用 LINQ 根据文件大小对文件列表进行归档。我有一些代码,但它使用的是 file.length 而不是 FileInfo(file).length。我不知道如何在表达式中实现对象“FileInfo”。帮助?

        {            
            IEnumerable<string> result = "*.ini,*.log,*.txt"
            .SelectMany(x => Directory.GetFiles("c:\logs", x, SearchOption.TopDirectoryOnly))
                            ;

            result = result
                .Where(x => (x.Length) > "500000")

               ;

       }

最佳答案

你应该能够做这样的事情。

使用 DirectoryInfo,GetFiles 将返回 FileInfo 的集合而不是字符串。

new DirectoryInfo(@"c:\logs")
    .GetFiles("*.ini,*.log,*.txt", SearchOption.TopDirectoryOnly)
    .Where(f => f.Length > 500000);

当然,如果您愿意,您总是会内联创建 FileInfo。

如果你只是想找回文件名..

IEnumerable<string> results = new DirectoryInfo(@"c:\logs")
    .GetFiles("*.ini,*.log,*.txt", SearchOption.TopDirectoryOnly)
    .Where(f => f.Length > 500000)
    .Select(f => f.FullName);

关于时间:2018-01-08 标签:c#linq: Filter List of Files based on File Size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494602/

相关文章:

c# - 使用 linq 将重复项分组并计数到字典中

c# - 在 C# 中针对没有 Skip 的 DocumentDB 进行分页

c# - 在 LINQ 中仅将某些列返回到 JSON

c# - 如何将防御性编程技术结合在一起?

c# - 在字段定义或类构造函数中初始化类字段

c# - 在 LINQ to SQL 连接中使用包含

c# - 通用列表未插入到 MongoDB 中

c# - 将用户重定向到 Paypal 站点以及来自代码隐藏的编程数据

c# - 使用文本文件中的三个项目的批处理命令

linq - 如何处理LINQ中没有结果?