C# 開発

C# 演算子 += と =+ の違いを考える

準備

(なし)

デザイン

  • フォーム (Form1) にボタン (button1) を配置します。
  • フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int v1 = 1;

            // 次のように記述します。
            v1 = +1;
            listBox1.Items.Add(v1);

            // コードをコピーします。
            v1 = +1;
            listBox1.Items.Add(v1);
        }
    }
}

解説

演算子 += と =+ の違いを考えてみます。結論から言うと、演算子に =+ はありません。+= のみです。一見似ていますし、何より =+ と記述しても、コンパイルは通り実行もできます。 C++/CLI では文法の自動チェックが行われないため、分かりづらいのですが、他の言語では文法チェックが行われます。C# は v1 =+1; をコピーすると、v1 = +1; に変ります。VB.NET では、v1 =+1 と入力すると、自動的に v1 = +1 に変ります。 つまり、=+ は、変数 v1 に正の値を代入していることになります。

結果

動作確認環境

Visual Studio 2022 Professional (.NET 7 C#11)

ログ

初版:2016.04.24 Visual Studio 2015 Professional (C# 6.0)

-C# 開発