从具有特定扩展名的目录文件列表中排除文件

时间:2015-07-07 11:04:13

标签: vb.net

我试图以不区分​​大小写的方式排除以“.done”扩展名结尾的文件(无论是.done,.DONE,.Done等)。

我正在使用此功能:

 Dim filesFromDownloadFolder = Directory.GetFiles(_chorusPath & ReportPaths.Download).Where(Function(name) Not name.EndsWith(".done", True))

但是在我出现此错误后:

The string comparison type passed in is currently not supported.  Parameter name: comparisonType

我想我应该而不是真的把StringCompariision.something但我不确定在我的情况下哪个可用选项。

2 个答案:

答案 0 :(得分:1)

您正在尝试将ignoreCase参数设置为True,但提供此选项的唯一重载也需要第三个参数。您将ComparisonType参数设置为True,因此您的错误。请尝试以下操作,这将设置StringComparison:

e.stopPropagation()

答案 1 :(得分:-2)

您尝试使用文件扩展名过滤目录,为什么使用linq 使用本机方法也很快

Directory.GetFiles Method (String, String)

修改

抱歉错误的信息我没有完整地阅读这个问题,我的错误 但似乎Getfiles似乎不是正确的解决方案,如果使用.NET 4及更高版本的用户可以使用

Directory.EnumerateFiles Method (String) 它比getfiles快