この章のテーマ §
単項演算子の+/-/!の3つについて学びます。
前提知識 §
Console.WriteLineメソッド, 文字列の基礎, 変数の基礎, int型, bool型
解説 §
単項演算子は式の頭に演算子を付けて値を加工します。
!演算子は、bool型の式の頭に付けて結果を反転します。
-演算子は、数値の頭に付けて符号を反転します。
+演算子は、数値の頭に付けて符号を反転しません。つまりそのままの値になります。
渡された値が意図した値の反対だったとき、補正するのに便利です。
罠の数々 §
- +演算子はほぼ使われない。値を変化させるわけではないので
- !演算子、-演算子は2回使うと基本的に元の値に戻る
- 正数でも負数でも必ず正数に直したいときはMath.Absメソッドを使うと便利
参考リンク §
算術演算子 (C# リファレンス)
ブール論理演算子 (C# リファレンス)
サンプルソース: unary §
var a = 123;
var b = false;
Console.WriteLine($"a=={a}");
Console.WriteLine($"b=={b}");
Console.WriteLine($"+a=={+a}");
Console.WriteLine($"-a=={-a}");
Console.WriteLine($"!b=={!b}");
実行結果 §
a==123
b==False
+a==123
-a==-123
!b==True
リポジトリ §
https://github.com/autumn009/CSharpPrimer2
練習問題 §
以下のプログラムの実行結果を予測してみよう。
var a = 1;
var b = --a;
Console.WriteLine(b);
- -1
- 0
- 1
- 2
- コンパイルエラー
[[解答]]