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);
我有:
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);