C# ?和??的使用

空接合运算符合可空类型

空接合运算符它允许我们在可空类型变量为null时返回一个值给表达式。空接合运算符由两个连续问号组成,它有两个操作数。

·第一个操作数是可空类型的变量

·第二个是相同基础类型的不可空值

·在运行时,如果第一个操作数运算后为null,那么第二个操作数就会被返回作为运算结果。



int ? myInt = null;

Console.WriteLine("myInt4:{0}",myInt ?? -1);


   static void Main(string[] args)

        {
            string b = "b";
            string c = "c";
            string d = "d";
            //?? 判断要赋值的对象是否为空,如果为空往后赋值
            string a= b ?? c??d;
            //可空类型
            int? aaa=null;
            //通过HasValue判断一个可空类型中是否有可用的值
            if (aaa.HasValue)
            {
                //aaa.Value可用
                Console.WriteLine(aaa.Value);
            }
            else {
                //aaa.Value不可用
                Console.WriteLine("null");
            }


            Console.ReadKey();

        }


Nullable<T>

可空类型通过System.NullAble<T>类型实现,它使用了C#的泛型特性。C#可空类型的问号是创建Nullable<T>类型变量的快捷语法,在这里T是基础类型。Nullable<T>接受了基础类型并把它嵌入结构中,同时给结构提供可空类型的属性、方法和构造函数。

使用Nullable<T>创建可空类型

Nullable<int> myInt = new Nullable<int>();等于 int? myInt = null;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值