演算子 | 意味 | 例 | 答え |
+ | 加算 | 1 + 2; 2147483647 + 1; 2147483647u + 1; |
3 - 2147483648 オーバーフロー 2147483648 |
- | 減算 | 2 - 1; -2147483648 - 1; -2147483648L - 1; |
1 2147483647 オーバーフロー -2147483649 |
* | 乗算 | 2 * 3: 2147483647 * 2; 2147483647u * 2; |
6 - 2 オーバーフロー 4294967294 |
/ | 除算 | 2 / 1: 3 / 2; 3.0 / 2.0; |
2 1 整数同士の割り算は整数 1.5 |
% | 剰余 | 2 % 1; 3 % 2; |
0 1 |
演算子 | 意味 | 例 | 答え |
+ | 符号はそのまま | +1 +(-1) |
1 -1 |
- | 符号を反転 | -1 -(-1) |
-1 1 |
! | 論理否定 | !true !false |
False True |
~ | ビットを反転 (1の補数) |
~1 ~1u |
-2 4294967294 |
演算子 | 意味 | 例 | 答え |
< | より小さい | 1 < 2 2 < 1 1 < 1 |
True False False |
> | より大きい | 2 > 1 1 > 2 1 > 1 |
True False False |
<= | 以下 | 1 <= 2 2 <= 1 1 <= 1 |
True False True |
>= | 以上 | 2 >= 1 1 >= 2 1 >= 1 |
True False True |
== | 等しい | 1 == 2 2 == 1 1 == 1 |
False Flase True |
!= | 等しくない | 1 != 2 2 != 1 1 != 1 |
True True False |
演算子 | 意味 | 例 | 答え |
& | 論理積(AND) | true & true true & false 12 & 10 |
True False 8 |
| | 論理和(OR) | true | true true | false 12 | 10 |
True True 14 |
^ | 排他的論理和(XOR) | true ^ true true ^ false 12 ^ 10 |
False True 6 |
&& | 条件論理積(ショートサーキット) | true & true true & false |
True False |
|| | 条件論理和(ショートサーキット) | true | true true | false |
True True |
演算子 | 意味 | 例 | 答え |
++ | オペランドに1加算される | int a = 0; Console.WriteLine(++a); Console.WriteLine(++a); Console.WriteLine(a); int b = 0; Console.WriteLine(b++); Console.WriteLine(b++); Console.WriteLine(b); |
1 2 2 0 1 2 |
-- | オペランドから1減算される | int a = 0; Console.WriteLine(--a); Console.WriteLine(--a); Console.WriteLine(a); int b = 0; Console.WriteLine(b--); Console.WriteLine(b--); Console.WriteLine(b); |
-1 -2 -2 0 -1 -2 |
演算子 | 意味 | 例 | 答え |
<< | 左シフト | 15 << 1; | 30 |
>> | 右シフト | 15 >> 1; | 7 |
演算子 | 意味 | 例 | 答え |
= | 代入 | int a = 1; | 1 |
+= | 加算代入 | int a = 1; a += 2; |
3 |
-= | 減算代入 | int a = 2; a -= 1; |
1 |
*= | 乗算代入 | int a = 2; a *= 3; |
6 |
/= | 除算代入 | int a = 6; a /= 3; |
2 |
%= | 剰余代入 | int a = 3; a %= 2; |
1 |
&= | AND代入 | bool b = true; b &= false; |
False |
|= | OR代入 | bool b = true; b |= false; |
true |
^= | 排他的OR代入 | bool b = true; b ^= false; |
True |
<<= | 左シフト代入 | int a = 15; a <<= 1; |
30 |
>>= | 右シフト代入 | int a = 15; a >>= 1; |
7 |
?? | Null合体演算子 | int? a = null; int b = a ?? 1; |
1 |
演算子 | 意味 | 例 | 答え |
?: | 三項条件 | true ? 1 : 2; false ? 1 : 2; |
1 2 |
演算子 | 意味 | 例 | 答え |
is | データの型を検査する | 1 is int 1.0 is int |
True False |
as | データの型を変換する | object obj = "文字列"; string str = obj as string; Console.WriteLine(str); object obj = 123; string str = obj as string; Console.WriteLine(str); |
文字列 null |
sizeof | 値型のサイズ(バイト単位)を取得する | int intSize = sizeof(int); int doubleSize = sizeof(double); |
4 8 |
typeof | 型のTypeを取得する | System.Type shortType = typeof(short); System.Type intType = typeof(int); System.Type longType = typeof(long); |
System.Int16 System.Int32 System.Int64 |