Directory.GetDirectories 应用 ExcusionsList with Linq

Directory.GetDirectories with applied ExcusionsList with Linq

我有:

var folders = Directory.GetDirectories(path);

决定排除一些列在数组中的文件夹:

string[] ExcludingList;

并尝试通过 LINQ 实现它: 所以正在尝试类似于下面的行,但格式错误:

var folders = Directory.GetDirectories(path)
    .Where(d => (! ExcludingList.Contains(d.Name)));

我知道还是错了,也许需要额外的初始化、类型更改、转换或更改一些格式,你能帮我吗?

代码不错,问题是d表示子目录的Name,那你不用d.Name,直接用d, 将代码更改为 :

var folders = Directory.GetDirectories(path)
    .Where(d => !ExcludingList.Contains(d))
    .ToList();

希望对您有所帮助。

正如我在评论中提到的,您可以使用 Except() 来实现您想要的。

var folders = Directory.GetDirectories(path).Except(ExcludingList);