日期:2014-05-19  浏览次数:20657 次

文件属性组合判断语句
在编写有关资源管理器的代码时,需要根据文件或者文件夹的属性来判断是否读取此文件或者文件夹。但是涉及到文件夹属性判断问题,我的问题是:如何对属性组合进行判断?比如说,如果是系统文件或者是隐藏文件,目录文件就不读取。我的代码是:if   (folder.Attributes   ==   FileAttributes.Hidden   |   FileAttributes.System   |   FileAttributes.Directory),
但是编译时报错:运算符“|”无法应用于“bool”和“System.IO.FileAttributes”类型的操作数。请问该如何书写代码?谢谢。



------解决方案--------------------
if (folder.Attributes == (FileAttributes.Hidden | FileAttributes.System | FileAttributes.Directory))

这样就行了
------解决方案--------------------
const FileAttributes ignoreMask = FileAttributes.Hidden | FileAttributes.System | FileAttributes.Directory;


if ((folder.Attributes & ignoreMask ) != 0)
{
...
}
------解决方案--------------------
一楼正解