Nullable<T> 与 T?

 

Nullable<T> 与 T?

 

 Nullable<T> : 基础类型为值类型的对象,值类型的对象和引用类型的对象一样也可以分配 null

 

可空类型, 是c#2.0添加的特性, 已经不新了, 但俺还没怎么用过.


1. Nullable<int> 与 int?是同样的意思.

   int? cc = 2;

   if (cc.HasValue)
   {
         Console.WriteLine(cc.Value);
   }

 

2. ??是一个运算符

例如 a ?? b

如果a不是null就返回a; 如果a是null, b 不是null, 就返回b; 如果都是null, 就只能返回null了.

 

 

测试代码:

 


        

   Nullable<int> tlinq = new Nullable<int>();

               tlinq = 5;
               int?stuid=2;
               if (stuid.HasValue && tlinq.HasValue)//特有方法
               {
              
                   Console.Write(stuid.Value+"可空类型: "+tlinq.Value);
               }
               int workid = 2;
               if (workid.CompareTo(1)>0)
               {
                     stuid=stuid??workid;
               }

 


本文转载:CSDN博客