~ Operator
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

~ Operator (C# Reference)

The ~ operator performs a bitwise complement operation on its operand, which has the effect of reversing each bit. Bitwise complement operators are predefined for int, uint, long, and ulong.

User-defined types can overload the ~ operator. For more information, see operator. Operations on integral types are generally allowed on enumeration.

// cs_operator_bitwise_compl.cs
using System;
class MainClass
    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);

~0x00000000 = 0xffffffff
~0x00000111 = 0xfffffeee
~0x000fffff = 0xfff00000
~0x00008888 = 0xffff7777
~0x22000022 = 0xddffffdd
© 2016 Microsoft