準備
(なし)
デザイン
- フォーム (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)
