bool?

作者:追风剑情 发布于:2023-11-3 10:46 分类:C#

在声明类型后面加个?,可使默认值不为null的变量为null。

using System;

namespace ConsoleApp5
{
    internal class Program
    {
        static void Main(string[] args)
        {
            bool? b = null; //变量b的默认值为null
            try
            {
                if (b == null)
                {
                    Console.WriteLine(b.Value);
                }
            }
            catch (InvalidOperationException ex)
            {
                //访问值为null的变量b.Value,会引发 InvalidOperationException 异常
                Console.WriteLine(ex.Message);
            }

            //当b的值不为null时,返回true
            if (b.HasValue)
            {
                //当HasValue返回true时,说明Value包含有意义的值
                bool value = b.Value;
                Console.WriteLine("b={0}", value);
            }
            else
            {
                Console.WriteLine("b=null");
            }

            Console.ReadKey();
        }
    }
}

标签: C#

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号