我刚刚发现C#不会让您在ulong
和int
上执行按位运算。 int
,uint
,long
和ulong
的每一个其他组合都可以工作,但是那一个配对没有。按位运算,ulong和int
但是,如果不是int
,我有一个const int
,一切都很好。
这是怎么回事?为什么int & ulong
无效,但const int & ulong
有效?
破碎:
int mask = 0x1110;
ulong value = 0x1010;
var result = mask & value; // Compilation error: "Operator '&' cannot be applied to operands of type 'int' and 'ulong'"
工作:
const int mask = 0x1110;
ulong value = 0x1010;
var result = mask & value; // Works just fine.
你能展示一些可行的代码吗? –
@显示代码的费用。你在那种类型上执行什么样的操作 – Fabio
'const int'可能是在编译时执行的。 –