文件属性组合判断语句
在编写有关资源管理器的代码时,需要根据文件或者文件夹的属性来判断是否读取此文件或者文件夹。但是涉及到文件夹属性判断问题,我的问题是:如何对属性组合进行判断?比如说,如果是系统文件或者是隐藏文件,目录文件就不读取。我的代码是: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)
{
...
}
------解决方案--------------------一楼正解