gpt4 book ai didi

c# - if((attributes and File Attributes.Hidden) == File Attributes.Hidden) { } 如何工作?

转载 作者:太空狗 更新时间:2023-10-29 20:47:20 30 4
gpt4 key购买 nike

关于 this页面,我看到以下代码:

if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden)

但我不明白为什么会变成这样。

为什么 attributes & FileAttributes.Hidden)?对 attributes 的单一检查实际上做了什么?它是否检查它是否不为空?我有一种感觉,我知道,但它看起来很奇怪。随机和奇怪。

最佳答案

这是简单的 bool 逻辑。 == 运算符仅在双方具有完全相同的值时才返回 true。因此,您必须使用要比较的标志来屏蔽 attributes 值。考虑这两个例子(值是组成的):

正确:

  0010001 // attributes
& 0000001 // FileAttributes.Hidden
-------
= 0000001 // FileAttributes.Hidden

错误:

  0011000 // attributes
& 0000001 // FileAttributes.Hidden
-------
= 0000000 // FileAttributes.None

关于c# - if((attributes and File Attributes.Hidden) == File Attributes.Hidden) { } 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32435230/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com