~ 演算子 (C# リファレンス)~ Operator (C# Reference)

~ 演算子は、ビット単位の補数演算をオペランドに実行します。これにより、各ビットが反転します。The ~ operator performs a bitwise complement operation on its operand, which has the effect of reversing each bit. ビット単位の補数演算は intuintlongulong に事前定義されています。Bitwise complement operators are predefined for int, uint, long, and ulong.

注意

~ シンボルもファイナライザーの宣言に使用されます。The ~ symbol also is used to declare finalizers. 詳細については、「Finalizers」 (ファイナライザー) を参照してください。For more information, see Finalizers.

コメントRemarks

ユーザー定義型は ~ 演算子をオーバーロードできます。User-defined types can overload the ~ operator. 詳細については、「operator」を参照してください。For more information, see operator. 整数型に対する演算は、通常、列挙型で使用できます。Operations on integral types are generally allowed on enumeration.

Example

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
*/

参照See Also