A bitmask is used to check if one bit is set (FileAttributes.Directory).
Enumeration values are powers of two corresponding to individual bits.
ReadOnly = 1,
Hidden = 2,
System = 4,
Directory = 16,
Archive = 32,
Device = 64,
ReadOnly Directory , FileAttributes 17. :
File.GetAttributes(source) = 00001001
FileAttributes.Directory = 00001000 &
-------------------------------------
00001000
Directory , :
File.GetAttributes(source) = 00000001
FileAttributes.Directory = 00001000 &
-------------------------------------
00000000
, , :
bool isDir = (File.GetAttributes(source) & FileAttributes.Directory) != 0;