文件,我怎么能关掉这个功能,所以,与其找不好文件却忽视了他们.. 我有什么目前并没有忽视..忽略与GetFiles的
Dim files As System.IO.FileInfo() = directory.GetFiles.Where(Function(fi) fi.Extension.ToLower <> ".bad1" Or fi.Extension.ToLower <> ".bad2" Or fi.Extension.ToLower <> ".bad3").ToArray
文件,我怎么能关掉这个功能,所以,与其找不好文件却忽视了他们.. 我有什么目前并没有忽视..忽略与GetFiles的
Dim files As System.IO.FileInfo() = directory.GetFiles.Where(Function(fi) fi.Extension.ToLower <> ".bad1" Or fi.Extension.ToLower <> ".bad2" Or fi.Extension.ToLower <> ".bad3").ToArray
Dim files As System.IO.FileInfo() = directory.GetFiles().Where(Function(fi) Not (fi.Extension.ToLower() = ".bad1" OrElse fi.Extension.ToLower() = ".bad2" OrElse fi.Extension.ToLower() = ".bad3")).ToArray()
的问题是你Not Equal
+ OR
。
将OR
更改为AND
并将其排除。
Dim files As System.IO.FileInfo() = directory.GetFiles.Where(Function(fi) fi.Extension.ToLower <> ".bad1" AND fi.Extension.ToLower <> ".bad2" AND fi.Extension.ToLower <> ".bad3").ToArray
为什么不使用AND
代替OR
因为你试图忽略所有的坏文件,如:
Dim files As System.IO.FileInfo() = directory.GetFiles().Where(Function(fi) fi.Extension.ToLower <> ".bad1" And fi.Extension.ToLower <> ".bad2" And fi.Extension.ToLower <> ".bad3").ToArray
顺便说fi
参数在此背景下已没有Extension
属性,因此为什么不使用 Path.GetExtension()
名下的System.IO
命名空间,如:
Dim files As System.IO.FileInfo() = directory.GetFiles().Where(Function(fi) Path.GetExtension(fi) <> ".bad1" And Path.GetExtension(fi) <> ".bad2" And Path.GetExtension(fi) <> ".bad3").ToArray
[我应该怎么做当有人回答我的问题?](http://stackoverflow.com/help/someone-answers) – Damith