c#关于null的相关操作


判断是否为空 is null

using System;
#nullable enable
namespace HxRuntech
{
    public class T1
    {
        static void Main()
        {
            int? a = null;
           if(a is null)
            {
                Console.WriteLine("a is null");
            }
        }
    }
}

空合并操作符 ??

如果第一个值为空,则使用第二个值

using System;
namespace HxRuntech
{
    public class T1
    {
        static void Main()
        {
            int? a = null;
            int? b = 5;
            int? c = a  ??  b;

            Console.WriteLine(c);
        }
    }
}

空条件操作符 ?.

空条件操作符的返回值是一个可空类型

using System;
namespace HxRuntech
{
    public class T1
    {
        static void Main()
        {
            string? str = null;
            int? length = str?.Length;
            Console.WriteLine(length);
        }
    }
}

空包容,当明确一个变量不为空时,可以使用空包容操作符告诉编译器 !