2021年12月15日
川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説! total 686 count

+/-/!: 単項演算子の奥深い世界

Written By: 川俣 晶連絡先

この章のテーマ §

 単項演算子の+/-/!の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. -1
  2. 0
  3. 1
  4. 2
  5. コンパイルエラー

[[解答]]

単行本情報