~ 演算子 (C# リファレンス)
~ 演算子は、そのオペランドにビットごとの補数演算を実行し、各ビットを反転させます。 ビットごとの補数演算子は、int、uint、long、および ulong に対して組み込まれています。
注意
~ 記号は、デストラクターの宣言にも使用されます。 詳細については、「デストラクター (C# プログラミング ガイド)」を参照してください。
解説
~ 演算子はユーザー定義型でオーバーロードできます。 詳細については、「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
*/