主な演算子 | 優先順位が最も高い演算子。 |
x.y | メンバー アクセス。 |
x?.y | null 条件付きのメンバー アクセス。 左側のオペランドが null の場合に null を返す。 |
f(x) | 関数の呼び出し。 |
a[x] | 集約オブジェクトのインデックス作成。 |
a?[x] | null 条件付きのインデックス作成。 左側のオペランドが null の場合に null を返す。 |
x++ | 後置インクリメント。 x の値を返した後、1 大きくなった (通常は整数 1 が加算された) x の値で格納場所を更新します。 |
x-- | 後置デクリメント。 x の値を返した後、1 小さくなった (通常は整数 1 が減算された) x の値で格納場所を更新します。 |
New | 型のインスタンス化。 |
Typeof | オペランドを表す System.Type オブジェクトを返す。 |
Checked | 整数演算のオーバーフロー チェックを有効にします。 |
Unchecked | 整数演算のオーバーフロー チェックを無効にします。 これがコンパイラの既定の動作です。 |
default(T) | 型 T の既定の初期値 (参照型の場合は null、数値型の場合は 0、構造体型の場合は 0 または null が格納されたメンバー) を返す。 |
Delegate | delegate インスタンスを宣言して返します。 |
Sizeof | 型オペランドのサイズをバイト単位で返します。 |
-> | メンバー アクセスと組み合わせてポインターを逆参照します。 |
| |
| |
単項演算子 | |
+x | x の値を返す。 |
-x | 数値の否定。 |
!x | 論理否定。 |
~x | ビットごとの補数。 |
++x | 前置インクリメント。 1 大きくなった (通常は整数 1 が加算された) x の値で格納場所を更新した後に x の値を返す。 |
--x | 前置デクリメント。 1 小さくなった (通常は整数 1 が減算された) x の値で格納場所を更新した後に x の値を返す。 |
(T)x | 型キャスト。 |
Await | Task を待機します。 |
&x | アドレス。 |
*x | 逆参照。 |
| |
| |
乗算演算子 | |
x * y | 乗算。 |
x / y | 除算。 オペランドが整数の場合、結果は 0 に近い整数になるように切り捨てられます (例: -7 / 2 is -3)。 |
x % y | 剰余。 オペランドが整数の場合、x を y で除算した剰余を返す。 q = x / y で r = x % y の場合、x = q * y + r になります。 |
| |
| |
加法演算子 | |
x + y | 加算。 |
x – y | 減算。 |
| |
| |
シフト演算子 | |
x << y | ビットを左へシフトし、右側には 0 を格納します。 |
x >> y | ビットを右へシフトします。 左側のオペランドが int または long の場合、左側のビットには符号ビットが格納されます。 左側のオペランドが uint または ulong の場合、左側のビットには 0 が格納されます。 |
| |
| |
関係演算子と型検査演算子 | |
x < y | より小さい (x が y より小さい場合は true)。 |
x > y | より大きい (x が y より大きい場合は true)。 |
x <= y | 以下。 |
x >= y | 以上。 |
Is | 型の互換性。 評価される左側のオペランドを右側のオペランドで指定された型 (静的な型) にキャストできる場合は、true を返す。 |
As | 型変換。 左側のオペランドを右側のオペランドで指定された型 (静的な型) にキャストして返します。ただし、(T)x が例外をスローした場合、as は null を返す。 |
| |
| |
等値演算子 | |
x == y | 等価比較。 既定では、string 以外の参照型の場合、参照の等価性を返します (等価テスト)。 ただし、型は == をオーバーロードできるため、同一性のテストが目的の場合は object で ReferenceEquals メソッドを使用することをお勧めします。 |
x != y | 等しくない。 == のコメントを参照してください。 型が == をオーバーロードする場合は、!= をオーバーロードする必要があります。 |
| |
| |
論理 AND 演算子 | |
x & y | 論理またはビットごとの AND。 通常、整数型および enum 型で使用できます。 |
| |
| |
論理 XOR 演算子 | |
x ^ y | 論理またはビットごとの XOR。 通常、整数型と enum 型で使用できます。 |
| |
| |
論理 OR 演算子 | |
x | y | 論理またはビットごとの OR。 通常、整数型および enum 型で使用できます。 |
| |
| |
条件 AND 演算子 | |
x && y | 論理 AND。 最初のオペランドが false の場合、C# では 2 番目のオペランドが評価されない。 |
| |
| |
条件 OR 演算子 | |
x || y | 論理 OR。 最初のオペランドが true の場合、C# では 2 番目のオペランドが評価されない。 |
| |
| |
Null 合体演算子 | |
x ?? y | x が null 以外の場合は x を返す。null の場合は y を返す。 |
| |
| |
条件演算子 | |
t ? x : y | テスト t が true の場合は x を評価して返す。それ以外の場合は y を評価して返す。 |
| |
| |
代入演算子とラムダ演算子 | |
x = y | 代入。 |
x += y | インクリメント。 y の値を x の値に加算した結果を x に格納し、新しい値を返す。 x が event を指定した場合、y は、C# によってイベント ハンドラーとして追加される適切な関数である必要があります。 |
x -= y | デクリメント。 y の値を x の値から減算した結果を x に格納し、新しい値を返す。 x が event を指定した場合、y は、C# によってイベント ハンドラーとして削除される適切な関数である必要があります。 |
x *= y | 乗算代入。 y の値を x の値に乗算した結果を x に格納し、新しい値を返す。 |
x /= y | 除算代入。 x の値を y の値で除算した結果を x に格納し、新しい値を返す。 |
x %= y | 剰余代入。 x の値を y の値で除算した剰余を x に格納し、新しい値を返す。 |
x &= y | AND 代入。 y の値と x の値の AND 演算を行った結果を x に格納し、新しい値を返す。 |
x |= y | OR 代入。 y の値と x の値の OR 演算を行った結果を x に格納し、新しい値を返す。 |
x |= y | XOR 代入。 y の値と x の値の XOR 演算を行った結果を x に格納し、新しい値を返す。 |
x <<= y | 左シフト代入。 x の値を y で指定した分だけ左へシフトした結果を x に格納し、新しい値を返す。 |
x >>= y | 右シフト代入。 x の値を y で指定した分だけ右へシフトした結果を x に格納し、新しい値を返す。 |
=> | ラムダ宣言。 |