在枚举文件中使用linq搜索选项

时间:2011-09-26 20:45:52

标签: c# .net linq

快点一个。我在C#应用程序中尝试EnumerateFiles,我想查找目录中与给定模式不匹配的所有文件。所以我会有这样的事情:

 var files = Directory.EnumerateFiles("MY_DIR_PATH", "NOT_MY_FILE_NAME");

有人可以帮我解决部分吗?

3 个答案:

答案 0 :(得分:8)

我认为你不能使用EnumerateFiles的重载,但你可以使用linq:

Directory.EnumerateFiles("MY_DIR_PATH").Where(s => s != "NOT_MY_FILE_NAME");

或查询语法:

var files = from f in Directory.EnumerateFiles("MY_DIR_PATH")
            where f != "NOT_MY_FILE_NAME"
            select f;

答案 1 :(得分:2)

你可以这样做:

var files = Directory.EnumerateFiles("MY_DIR_PATH")
                     .Where(fileName => fileName != "MY_FILE_NAME");

答案 2 :(得分:1)

怎么样

var files = Directory.GetFiles("MY_DIR_PATH")
    .Where(f => !f.Contains("NOT_MY_FILE_NAME"));