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

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

C#の代入演算子とは

C#の代入演算子は、変数に値を格納するために使用される演算子です。基本となる「=」のほかに、算術演算やビット演算と代入を1つの式でまとめて行える複合代入演算子が多数用意されています。複合代入演算子を活用すると、コードが簡潔になり、可読性の向上にもつながります。

以下の表は、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 OperatorsAppl {

    class Program {

        static void Main(string[] args) {
            int a = 21;
            int c;

            // 単純代入
            c = a;
            Console.WriteLine("代入演算子: {0}", c);

            // 加算代入
            c += a;
            Console.WriteLine("+= の結果: {0}", c);

            // 減算代入
            c -= a;
            Console.WriteLine("-= の結果: {0}", c);

            // 乗算代入
            c *= a;
            Console.WriteLine("*= の結果: {0}", c);

            // 除算代入
            c /= a;
            Console.WriteLine("/= の結果: {0}", c);

            // 剰余代入
            c = 200;
            c %= a;
            Console.WriteLine("%= の結果: {0}", c);

            // 左シフト代入
            c <<= 2;
            Console.WriteLine("<<= の結果: {0}", c);

            Console.ReadLine();
        }
    }
}

実行結果

代入演算子: 21
+= の結果: 42
-= の結果: 21
*= の結果: 441
/= の結果: 21
%= の結果: 11
<<= の結果: 44

このように複合代入演算子は、「変数 = 変数 演算子 値」という形式のコードをより短く記述できます。特にループ処理内でカウンタや累積値を更新する場面で頻繁に使用されるため、覚えておくと便利です。

  1. Pythonのis演算子とは何をするもの?同一性判定の仕組みをわかりやすく解説

    Pythonには、is と is not という2つの「同一性演算子(identity operators)」が用意されています。Pythonインタプリタは、メモリ上に存在するすべてのオブジェクトに対して、一意の識別番号(id)を自動的に割り当てます。同一性演算子は、この識別番号を使って、2つのオブジェクトが同じ実体であるかどうかを判定します。 is 演算子は、2つのオブジェクトの id() の値が一致していれば True を返し、異なっていれば False を返します。逆に is not は、その真逆の結果を返します。 実際の動作を確認してみよう >>> a = 10 &g

  2. Pythonの「<>」演算子とは?Python 2とPython 3での違いを解説

    Pythonには、2つの値が「等しくない」ことを判定するための比較演算子として、かつて「<>」という記法が存在していました。これは数式における「≠」に相当する演算子で、Python 2.x系で利用できました。同じ動作をする「!=」演算子もありますが、Python 3.xでは「<>」演算子は廃止され、使用するとエラーになる点に注意が必要です。 Python 2.7での使用例 Python 2.7では、「<>」と「!=」のどちらも「等しくない」判定として同じ結果を返します。 >>> a=5 >>> b=7 >>&g