2025.01.22 string 型変数で null を扱う
private void button1_Click(object sender, EventArgs e)
{
// Null リテラルまたは Null の可性があ値を Null 非許容型に変換しています:
string s1 = null;
// 問題なし
string? s2 = null;
listBox1.Items.Add(s1 ?? "null");
listBox1.Items.Add(s2 ?? "null");
}
2025.01.22 null の判定を行う
private void button1_Click(object sender, EventArgs e)
{
string? s1 = null;
if (s1 == null)
{
listBox1.Items.Add("s1 is null");
}
if (s1 is null)
{
listBox1.Items.Add("s1 is null");
}
}
2025.01.29 null 合体演算子を扱う
private void Form1_Load(object sender, EventArgs e)
{
// ?? は null 判定して、null でないか、null かに応じて結果を返す。
// 通常は、Name1 のパターンで、空の文字列に変換することが多い。
string? Name1 = null;
string? Name2 = null;
string? Name3 = "Taro";
listBox1.Items.Add(Name1 ?? "");
listBox1.Items.Add(Name2 ?? "(no name)");
listBox1.Items.Add(Name3 ?? "(no name)");
}
2025.01.29 null 条件演算子を扱う
private void button1_Click(object sender, EventArgs e)
{
string? Name1 = null;
string? Name2 = null;
string? Name3 = "Taro";
Debug.WriteLine(Name1?.ToString());
Debug.WriteLine(Name2?.ToString());
Debug.WriteLine(Name3?.ToString());
}
2025.01.29 null 条件演算子・null 合体演算子を扱う
private void button1_Click(object sender, EventArgs e)
{
string? Name1 = null;
string? Name2 = null;
string? Name3 = "Taro";
Debug.WriteLine(Name1?.ToString() ?? "");
Debug.WriteLine(Name2?.ToString() ?? "(no name)");
Debug.WriteLine(Name3?.ToString() ?? "(no name)");
}