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

ビットごとの補数演算子 ~ は、各ビットを反転させてオペランドのビットごとの補数を生成する単項演算子です。The bitwise complement operator ~ is a unary operator that produces a bitwise complement of its operand by reversing each bit. すべての整数型で ~ 演算子がサポートされます。All integer types support the ~ operator.

注意

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

~ 演算子の使用例を次に示します。The following example demonstrates the usage of the ~ operator:

uint a = 0b_0000_1111_0000_1111_0000_1111_0000_1100;
uint b = ~a;
Console.WriteLine(Convert.ToString(b, toBase: 2));
// Output:
// 11110000111100001111000011110011

注意

上記の例では、C# 7.0 で導入されC# 7.2 で強化されたバイナリ リテラルを使用しています。The preceding example uses the binary literals introduced in C# 7.0 and enhanced in C# 7.2.

演算子のオーバーロード可/不可Operator overloadability

ユーザー定義型は ~ 演算子をオーバーロードできます。User-defined types can overload the ~ operator.

C# 言語仕様C# language specification

詳細については、「C# 言語仕様」の「ビットごとの補数演算子」セクションを参照してください。For more information, see the Bitwise complement operator section of the C# language specification.

関連項目See also