CLR VIA C# 可空值类型

using System;

namespace 可空值类型
{
    class Program
    {
        static void Main(string[] args)
        {
            //Int32 a = null; //错误,值类型不能为空
            Int32? a = null;//Int32? 和System.Nullable<Int32>等价
            Int32? b = 5;//将int32类型实例隐式转换成Nullable<Int32>类型;
            if (a.HasValue) Console.WriteLine(a.ToString());
            else Console.WriteLine("a=null");
            if (b.HasValue) Console.WriteLine("b="+b.ToString());
            else Console.WriteLine("b=null");
            Console.WriteLine("b的类型:" + b.GetType());//其实应该为System.Nullable<Int32>
            /*******************************************************************************
             * 逻辑测试
             * ****************************************************************************/
            Boolean? c1 = null;
            Boolean? c2 = true;
            Boolean? c3 = false;
            string t=null;
            Console.WriteLine("c1&c2:{0}", c1 & c2);
            Console.WriteLine("c1&c3:{0}", c1 & c3);
            Console.WriteLine("c1|c2:{0}", c1 | c2);
            Console.WriteLine("c1|c3:{0}", c1 | c3);
            Console.WriteLine(t??"空值");
            t = "Hello,fxqcn!";
            Console.WriteLine(t ?? "空值");//??和?:大致意思一样,但更简单
            //如果前一个表达式为null,则表达式取后面的值,??:“空接合操作符”
            /*******************************************************************************
             * 装箱与拆箱
             * ****************************************************************************/
            object o = 5;//已装箱的Int32
            //把它拆箱为一个Nullable<Int32>和一个Int32
            Int32? d1 = (Int32?)o;
            Int32 d2 = (Int32)o;//如果引用类型不为NULL,可以将它转换为System.Nullable<Int32>类型和int32类型
            o = null;
            d1 = (Int32?)o;
            //d2 = (Int32)o; 错误,如果引用类型为空,只能将它转换为System.Nullable<Int32>类型
            Console.ReadLine();

        }
    }
}

阅读更多
个人分类: C#
想对作者说点什么? 我来说一句

CLR via C# 最新 中文完整版 高清

2017年11月07日 661B 下载

CLR via C#(第4版)中文完整版

2016年07月11日 51.2MB 下载

CLR via C# 第4版 中英文完整版 pdf

2016年04月03日 95.29MB 下载

CLR via C#(第4版)中文高清完整PDF

2016年04月11日 89.65MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭