C#可空类型

可空类型只能用于值类型,不能用于引用类型,引用类型本身支持null值。
如果直接把null赋值给int类型,会出现一个错误"无法将 NULL 转换成'int',因为它是一种值类型"。
赋值时应该使用 int? a = null;
可空类型与一元或二元运算符一起使用是,如果一个操作数或两个操作数都是null,其结果为null。

说白了int?a=null 这句话的意思就是让值类型a可以接收null这个值

        --举例1---------
            int? a = null;
            int? b = a * 5; //b = null
            int? c = a + 5; //c = null
        --举例2---------
            int? a = null;
            int? b = null;
            if (a > b)
            {
                Console.WriteLine("a > b is true");
            }
            else
            {
                Console.WriteLine("a > b is false");
            }

            if (a == b)
            {
                Console.WriteLine("a == b is true");
            }
            else
            {
                Console.WriteLine("a == b is false");
            }
        输出结果
            a > b is false
            a == b is true
       --举例3----------
            int? a = null;
            int b = -5;
            if (a >= b)
            {
                Console.WriteLine("a>=b");
            }
            else
            {
                Console.WriteLine("a<b");
            }

            if (a <= b)
            {
                Console.WriteLine("a<=b");
            }
            else
            {
                Console.WriteLine("a>b");
            }
        输出结果(从结果可以看出不能正确识别a>b还是a<b,只要有一个值为null,a>b和a<b这两个条件都是返回false)
           a<b
           a>b   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值