【C#】C#演算子ガイド - 基本から応用までわかりやすく解説

PUBLISHED 2024-08-19

C#のプログラミングでは、演算子を使って数値の計算や条件判断を行うことがとても重要です。この記事では、C#で使用される主要な演算子とその使い方を解説します。

この記事で学べること

  • 算術演算子(加減乗除、剰余)の使い方
  • 比較演算子による条件判断
  • 論理演算子(AND、OR、NOT)の組み合わせ
  • 代入演算子と複合代入
  • ビット演算子の仕組み
  • 条件演算子(三項演算子)とnull合体演算子

演算子の優先順位

演算子には優先順位があり、計算の順番が決まっています。

優先度演算子説明
()括弧(最優先)
!, ~, ++, --単項演算子
*, /, %乗算・除算
+, -加算・減算
<<, >>シフト演算
<, >, <=, >=比較
==, !=等値比較
&, ^, |ビット演算
&&, ||論理演算
?:条件演算子
=, +=, -= など代入演算子

算術演算子

算術演算子は、数値の計算に使用される基本的な演算子です。日常的な計算(加算、減算など)に使います。

主な算術演算子

  • +: 加算
  • -: 減算
  • *: 乗算
  • /: 除算
  • %: 剰余(割り算の余り)

例)

int a = 10;
int b = 3;
Console.WriteLine(a + b);  // 13
Console.WriteLine(a - b);  // 7
Console.WriteLine(a * b);  // 30
Console.WriteLine(a / b);  // 3 (整数除算)
Console.WriteLine(a % b);  // 1 (余り)

インクリメント・デクリメント演算子

  • ++: 1を加える
  • --: 1を減らす

例)

int x = 5;
x++;  // xは6になる
x--;  // xは5に戻る

比較演算子

比較演算子は、2つの値を比較し、その結果をtrue または falseで返します。主に条件分岐で使用されます。

主な比較演算子

  • ==: 等しい
  • !=: 等しくない
  • >: より大きい
  • <: より小さい
  • >=: 以上
  • <=: 以下

例)

int a = 5;
int b = 10;
Console.WriteLine(a == b);  // False
Console.WriteLine(a != b);  // True
Console.WriteLine(a > b);   // False
Console.WriteLine(a < b);   // True

論理演算子

論理演算子は、複数の条件を組み合わせるために使用されます。条件が複数ある場合に便利です。

主な論理演算子

  • &&: 論理AND(両方の条件がtrue のときtrue になる)
  • ||: 論理OR(どちらか一方でもtrue ならtrue)
  • !: 論理NOT(trueとfalseを反転させる)

例)

bool x = true;
bool y = false;
Console.WriteLine(x && y);  // False
Console.WriteLine(x || y);  // True
Console.WriteLine(!x);      // False

代入演算子

代入演算子は、変数に値を代入するための演算子です。複合代入演算子を使うと、計算しながら代入することができます。

主な代入演算子

  • =: 単純代入
  • +=, -=, *=, /=: 複合代入

例)

int a = 10;
a += 5;  // aは15になる
a *= 2;  // aは30になる

ビット演算子

ビット演算子は、数値のビット(0と1の状態)を操作するための演算子です。特定のフラグの操作やビット単位の処理で使用されます。

主なビット演算子

  • &: ビットAND
  • |: ビットOR
  • ^: ビットXOR
  • ~: ビット補数(ビット反転)
  • <<: 左シフト
  • >>: 右シフト

例)

int a = 5;  // 0101(二進数)
int b = 3;  // 0011(二進数)
Console.WriteLine(a & b);  // 1 (0001)
Console.WriteLine(a | b);  // 7 (0111)

条件演算子(三項演算子)

条件演算子(三項演算子)は、1つの条件に基づいて、2つの値のうちどちらかを選択します。

構文

条件 ? 真の場合の値 : 偽の場合の値

例)

int age = 20;
string status = (age >= 18) ? "成人" : "未成年";
Console.WriteLine(status);  // 成人

null合体演算子

null合体演算子は、変数がnullの場合に代替値を設定するために使用されます。

主なnull合体演算子

  • ??: nullの場合に代替値を返す

例)

string name = null;
string displayName = name ?? "ゲスト";
Console.WriteLine(displayName);  // ゲスト

まとめ

C#の演算子は、計算や条件分岐、データの操作など、あらゆる場面で使われます。この記事で紹介した演算子を使いこなすことで、プログラムのロジックを自由自在に書くことができるようになります。これらの演算子を実際に使いながら、C#のスキルを磨いていきましょう。演算子の使い方に慣れていくことで、より効率的で読みやすいコードを書けるようになります。

ポイントの振り返り

演算子の種類主な演算子用途
算術演算子+, -, *, /, %数値の計算
比較演算子==, !=, >, <条件判断
論理演算子&&, ||, !条件の組み合わせ
代入演算子=, +=, -=値の代入
ビット演算子&, |, ^, <<, >>ビット操作
条件演算子?:条件による値の選択
null合体演算子??, ??=nullの代替値設定

参考文献

CATEGORY
TAGS
円