什么是按位或|操作员?我正在阅读有关标志枚举和按位运算符的内容,并遇到了这段代码:enumfile{read=1,write=2,readandwrite=read|write}我在某处读到为什么有一个包容性或声明以及它为什么不能有一个&,但找不到这篇文章。有人可以刷新我的记忆并解释推理吗?另外,我怎么说和/或?例如。如果dropdown1="hello"和/或dropdown2="hello"...谢谢第一个问题:A|按位或;如果在第一个值或第二个值中设置了一个位,则将在结果中设置一个位。(你在枚举上使用它来创建值,这些值是其他值的组合)如果你打算按位使用,它没有多大意义。它的用法如下:[Flags]enumFileAccess{None=0,//00000000没有设置Read=1,//00000001读取位(位0)设置Write=2,//00000010写入位(位1)设置Execute=4,//00000100设置exec位(位2)//...ReadWrite=Read|Write//00000011读取和写入(位0和1)均已设置//badValue=Read&Write//00000000未设置任何内容,没有意义ReadExecute=Read|Execute//00000101read和exec(位0和2)都被设置}//注意非组合值是2的幂,//意味着每个只设置一个位//...//测试查看访问权限是否包括读取权限:if((access&FileAccess.Read)==FileAccess.Read)基本上您可以测试枚举是否设置了某些位;在这种情况下,我们正在测试是否设置了对应于Read的位。值Read和ReadWrite都将通过此测试(均设置为零);不会写(它没有设置位零)。//如果访问是FileAccess.Read访问&FileAccess.Read==FileAccess.Read//00000001&00000001=>00000001//如果访问是FileAccess.ReadWrite访问&FileAccess.Read==FileAccess.Read//00000011&00000001=>00000001//uf访问是FileAccess.Write访问&FileAccess.Read!=FileAccess.Read//00000010&00000001=>00000000第二个问题:我认为当你说“和/或”时你的意思是“一个,另一个或两者”。这正是||(或运营商)。要说“一个或另一个,但不是两个”,您使用^(独占或运算符)。真值表(true==1,false==0):AB|一个||B------|--------或00|001|110|111|1(如果有任何结果为真,则结果为真)AB|A^B------|--------异或00|001|110|111|0(如果两者都为真,则结果为假)高于或按位或非逻辑或。1|2等于3(而1和2=0)。有关按位运算的更好描述,请参阅http://en.wikipedia.org/wiki/Bitwise_operation。枚举类型。将枚举类型视为位标志部分,它给出了OR的示例和ANDNOTb的示例。好吧,这里有两个不同的问题,但要回答#2,大多数编程语言中的逻辑OR就是你的意思和/或我的想法。if(dropdown=="1"||dropdown=="2")//如果任一条件为真,则有效。但是,“异或”是指“一个或另一个,而不是两者”。以上就是C#学习教程:什么是按位或|操作员?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
