首页 > 代码库 > Nullable可空类型

Nullable可空类型

 一个Nullable类型就是基本类型加上一个"是否为null指示器"的合成类型。对于一个类型,如果既可以给他分配一个值,也可以给它分配null引用,我们就说这个类型是可空的。

  可空类型会多了两个属性

  1、HasValue  是否有值

  2、Value    获取值

  来看个DEMO,这个东西,真没什么好说的。就是容易忘记,如何判断。

public class Program    {        static void Main(string[] args)        {            int? avalue = http://www.mamicode.com/null;"avalue的值为null");     //输出 avalue            }            avalue = http://www.mamicode.com/10;"avalue的值为null");                 }            Console.ReadKey();        }    }

  另外还有一种简便的判断方法:

    public class Program    {        static void Main(string[] args)        {            Test();     //输出 0            Test(5);    //输出 5            //另外还有一个判断为空的方法,与HasValue类似:            int? i = null;            int k = i ?? 0; //双问号的意思是,如果i为空则k=0,否则k=i            Console.WriteLine(k);   //输出 0            i = 5;            int j = i ?? 0;            Console.WriteLine(j);   //输出 5            Console.ReadKey();        }        //4.0新特性,不传入参数时 i=0;        public static void Test(int? i = 0)        {            Console.WriteLine(i);        }    }