C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の代入演算子とは?種類と使い方をサンプルコード付きで解説

演算子(Operator)とは、コンパイラに対して特定の数学的処理や論理的な操作を実行するよう指示するための記号のことです。

C#には多くの演算子が用意されていますが、本記事ではその中でも基本となる「代入演算子」に焦点を当て、それぞれの役割と具体的な使い方をサンプルコードとともにわかりやすく解説します。代入演算子を正しく理解すると、コードをより簡潔かつ読みやすく書けるようになります。

C#の主な代入演算子一覧

以下の表は、C#で使用できる代入演算子の一覧です。「=」のような単純な代入だけでなく、計算と代入を同時に行う「複合代入演算子」も多数あります。

演算子説明使用例
=単純代入演算子。右側のオペランドの値を左側のオペランドに代入しますC = A + B は A + B の計算結果を C に代入
+=加算代入演算子。左オペランドに右オペランドを加算し、その結果を左オペランドに代入しますC += A は C = C + A と同等
-=減算代入演算子。左オペランドから右オペランドを減算し、その結果を左オペランドに代入しますC -= A は C = C - A と同等
*=乗算代入演算子。左オペランドと右オペランドを乗算し、その結果を左オペランドに代入しますC *= A は C = C * A と同等
/=除算代入演算子。左オペランドを右オペランドで除算し、その結果を左オペランドに代入しますC /= A は C = C / A と同等
%=剰余代入演算子。2つのオペランドの剰余(余り)を求め、その結果を左オペランドに代入しますC %= A は C = C % A と同等
<<=左シフト代入演算子。ビットを指定した数だけ左にシフトし、結果を代入しますC <<= 2 は C = C << 2 と同等
>>=右シフト代入演算子。ビットを指定した数だけ右にシフトし、結果を代入しますC >>= 2 は C = C >> 2 と同等
&=ビットごとのAND(論理積)代入演算子C &= 2 は C = C & 2 と同等
^=ビットごとの排他的OR(XOR)代入演算子C ^= 2 は C = C ^ 2 と同等
|=ビットごとの包括的OR(論理和)代入演算子C |= 2 は C = C | 2 と同等

代入演算子のサンプルコード

それでは、各代入演算子を実際に使ったサンプルプログラムを見てみましょう。すべての代入演算子の動作を順番に確認できます。

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            int a = 21;
            int c;
            c = a;
            Console.WriteLine("Value of c = {0}", c);
            c += a;
            Console.WriteLine("Value of c = {0}", c);
            c -= a;
            Console.WriteLine("Value of c = {0}", c);
            c *= a;
            Console.WriteLine("Value of c = {0}", c);
            c /= a;
            Console.WriteLine("Value of c = {0}", c);
            c = 200;
            c %= a;
            Console.WriteLine("Value of c = {0}", c);
            c <<= 2;
            Console.WriteLine("Value of c = {0}", c);
            c >>= 2;
            Console.WriteLine("Value of c = {0}", c);
            c &= 2;
            Console.WriteLine("Value of c = {0}", c);
            c ^= 2;
            Console.WriteLine("Value of c = {0}", c);
            c |= 2;
            Console.WriteLine("Value of c = {0}", c);
            Console.ReadLine();
        }
    }
}

実行結果

上記のプログラムを実行すると、以下のように出力されます。各演算が適用されるたびに変数 c の値がどのように変化しているかに注目してください。

Value of c = 21
Value of c = 42
Value of c = 21
Value of c = 441
Value of c = 21
Value of c = 11
Value of c = 44
Value of c = 11
Value of c = 2
Value of c = 0
Value of c = 2

まとめ

C#の代入演算子には、基本的な「=」のほかに、「+=」「-=」「*=」「/=」「%=」といった複合代入演算子や、「<<=」「>>=」「&=」「^=」「|=」などのシフト・ビット演算系の代入演算子があります。これらを活用することで、計算と代入を1文で済ませられ、コードの可読性と記述効率が向上します。まずは頻繁に使う「+=」「-=」あたりから慣れていくのがおすすめです。

  1. C#の関係演算子とは?種類と使い方を実例付きで解説

    C#で2つの値を比較する際に使用するのが関係演算子です。関係演算子を使うことで、数値や変数同士の等価性・大小関係を判定し、その結果に応じてプログラムの処理を分岐させることができます。 C#の主な関係演算子一覧 演算子説明==2つのオペランドの値が等しいかどうかを調べます。等しい場合、条件式はtrueになります。!=2つのオペランドの値が等しくないかどうかを調べます。等しくない場合、条件式はtrueになります。>左オペランドの値が右オペランドの値より大きいかどうかを調べます。大きい場合、条件式はtrueになります。<左オペランドの値が右オペランドの値より小さいかどうかを調べます。小さ

  2. Pythonの代入演算子とは?種類と使い方を一覧表でわかりやすく解説

    Pythonには、変数に値を格納するための代入演算子が複数用意されています。基本となる「=」のほかに、算術演算と代入を一度に行える複合代入演算子があり、これらを使いこなすことでコードをより簡潔に記述できます。 Pythonの代入演算子一覧 以下の表は、Pythonで使用できるすべての代入演算子をまとめたものです。 演算子 説明 使用例 = 右側の値を左側の変数に代入します。 c = a + b … a + b の計算結果を c に代入 += 左辺に右辺を加算し、その結果を左辺に代入します。 c += a … c に a を加算(c = c + a と同じ) -= 左辺から右辺を