C# 開発

C# null 合体演算子で null を判断する

準備

(なし)

デザイン

  • フォーム (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 = null;

            // if 文による null の比較
            int? v2 = v1;
            if (v2 != null)
            {
                listBox1.Items.Add(v2 * 10);
            }
            else
            {
                listBox1.Items.Add(0);
            }

            // 条件演算子による null の比較
            int? v3 = (v1 != null) ? v1 * 10 : 0;
            listBox1.Items.Add(v3);

            // null 合体演算子による null の比較
            int? v4 = v1 * 10 ?? 0;
            listBox1.Items.Add(v4);
        }
    }
}

解説

変数の内容が null であるか、ないかを判断しています。通常の if 文、条件演算子、null 合体演算子により比較しています。null 合体演算子 は null の比較専用の演算子なので、最もコード量が少ないことが特徴です。尚、null 合体演算子は、「null でないこと」と考えるのが基本です。

結果

動作確認環境

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

ログ

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

-C# 開発