gpt4 book ai didi

c# - |= 运算符在 C# 中有什么作用?

转载 作者:行者123 更新时间:2023-11-30 13:34:01 24 4
gpt4 key购买 nike

浏览来自 C# 4.0 in a nutshell 的代码示例我遇到了一些涉及枚举的有趣运算符

[Flags]
public enum BorderSides { Left=1, Right=2, Top=4, Bottom=8 }

...
BorderSides leftRight = BorderSides.Left | BorderSides.Right;
...

BorderSides s = BorderSides.Left;
s |= BorderSides.Right;
...

s ^= BorderSides.Right;

这在其他地方有记录吗?

更新

找到一个forum post与此有关

最佳答案

|= 是按位或赋值。

这个声明:

BorderSides s = BorderSides.Left;
s |= BorderSides.Right;

相同
BorderSides s = BorderSides.Left;
s = s | BorderSides.Right;

这通常在枚举中用作标志,以便能够将多个值存储在单个值中,例如 32 位整数(C# 中 enum 的默认大小)。

它类似于 += 运算符,但不是进行加法运算,而是进行按位或运算。

关于c# - |= 运算符在 C# 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4590895/

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