~ 运算符
~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位。按位求补运算符是为
对于 ~x 形式的运算,应用一元运算符重载决策(第 7.2.3 节)以选择特定的运算符实现。操作数转换为所选运算符的参数类型,结果类型是该运算符的返回类型。预定义的按位求补运算符为:
int operator ~(int x);
uint operator ~(uint x);
long operator ~(long x);
ulong operator ~(ulong x);
对于每个运算符,运算结果为 x 的按位求补。
每个 E 枚举类型都隐式地提供下列按位求补运算符:
E operator ~(E x);
~x(其中 x 是具有基础类型 U 的枚举类型 E 的表达式)的计算结果与 (E)(~(U)x) 的计算结果完全相同。
备注
用户定义的类型可重载 ~ 运算符。有关更多信息,请参见 operator。在枚举时通常允许整型运算。
示例
C# | |
---|---|
class BWC { static void Main() { int[] values = { 0, 0x111, 0xfffff, 0x8888, 0x22000022 }; foreach (int v in values) { Console.WriteLine("~0x{0:x8} = 0x{1:x8}", v, ~v); } } } /* Output: ~0x00000000 = 0xffffffff ~0x00000111 = 0xfffffeee ~0x000fffff = 0xfff00000 ~0x00008888 = 0xffff7777 ~0x22000022 = 0xddffffdd */ |
本在线速查手册由www.w┓3┓x┓u┓e.com提供,请勿盗用!