C#の演算子 (operator)

主な演算子
演算子 作用
x.y メンバーアクセス
x?.y null条件付きのメンバーアクセス。左側のオペランドがnullの場合にnullを返す
f(x) 関数の呼び出し
a[x] 集約オブジェクトのインデックス
a?[x] null条件付きのインデックス。左側のオペランドがnullの場合にnullを返す
x++ 後置インクリメント。xの値を返した後、1大きくなったxの値で格納場所を更新する
x-- 後置デクリメント。xの値を返した後、1小さくなったxの値で格納場所を更新する
new 型のインスタンス化
typeof オペランドを表すSystem.Typeオブジェクトを返す
checked 整数演算のオーバーフロー チェックを有効にする
unchecked 整数演算のオーバーフロー チェックを無効にする。(コンパイラの既定の動作)
default(T) 型Tの既定の初期値を返す (参照型の場合はnull、数値型の場合は0、構造体型の場合は0またはnullが格納されたメンバー)
delegate delegateインスタンスを宣言して返す
sizeof 型オペランドのサイズをバイト単位で返す
-> メンバーアクセスと組み合わせてポインターを逆参照する
主な演算子 - C# 演算子 | MSDN
単項演算子
演算子 作用
+x xの値を返す
-x 数値の否定
!x 論理否定
~x ビットごとの補数
++x 前置インクリメント。1大きくなったxの値で格納場所を更新した後に、xの値を返す
--x 前置デクリメント。1小さくなったxの値で格納場所を更新した後に、xの値を返す
(T)x 型キャスト
Await Taskを待つ
&x xのアドレス
*x xの逆参照
単項演算子 - C# 演算子 | MSDN
型検査演算子 (Type-testing Operators)
演算子 作用
is 型の互換性。評価される左側のオペランドを右側のオペランドで指定された型にキャストできる場合に、trueを返す
as 型の変換。左側のオペランドを右側のオペランドで指定された型にキャストして返す。ただし (T)xが例外をスローした場合、nullを返す
関係演算子と型検査演算子 - C# 演算子 | MSDN
等値演算子 (Equality Operators)
演算子 作用
==
!=  
等値演算子 - C# 演算子 | MSDN

オブジェクトの等値を確認するメソッドの実装方法

ラムダ演算子 (Lambda Operators)
演算子 作用
=> ラムダ宣言
代入演算子とラムダ演算子 - C# 演算子 | MSDN

/ 演算子 (division operator)

/ 演算子 (C# リファレンス) | Microsoft Docs

ゼロ除算 (division by zero)

整数の0で除算すると、例外が発生します。

int a = 0;
int x = 1 / a; // System.DivideByZeroException: 0 で除算しようとしました。

整数の定数で除算しようとすると、コンパイルエラーとなります。

int x = 1 / 0; // error CS0020: 定数 0 による除算です。

浮動小数点数の0で除算すると、正の数を除算したならばPositiveInfinity、負ならばNegativeInfinityが返されます。

double x =  1.0 / 0.0; //  Infinity
double y = -1.0 / 0.0; // -Infinity

Double.IsInfinity(x); // true
Double.IsInfinity(y); // true

シフト演算子 (shift operator)

シフト演算子 - C# 演算子 | Microsoft Docs
int a1 = 4;
int a2 = a1 << 2; // 16

int b1 = -4;
int b2 = b1 << 2; // -16


byte c1 = 4;
//byte c2 = c1 << 2; // error CS0266: 型 'int' を 'byte' に暗黙的に変換できません。明示的な変換が存在します (cast が不足していないかどうかを確認してください)
byte c2 = (byte)(c1 << 2); // 16

byte c3 = (byte)(c1 << 5); // 128
byte c4 = (byte)(c1 << 6); // 0

演算子の優先順位

演算子、評価、演算子の優先順位 - 演算子 - C# プログラミング ガイド | Microsoft Docs
MSDN (Microsoft Developer Network) から検索