private dateTime? _time;
public dateTime? time
{
get{return _time;}
set{_time=value;}
}上面定义的实体类是什么意思?又什么好处?

解决方案 »

  1.   

    可以为空的DateTime例如 public int? A=null;
      

  2.   

    可空类型 Nullable 
    声明值类型变量时 类型? 变量名 = null;这样值类型也可以赋null值
      

  3.   

    对于一个类型,如果既可以给它分配一个值,也可以给它分配 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)(表示没有任何值),我们就说这个类型是可空的。因此,可空类型可表示一个值,或表示不存在任何值。例如,类似 String 的引用类型就是可空类型,而类似 Int32 的值类型不是可空类型。由于值类型的容量只够表示适合于该类型的值,因此它不可为空;值类型没有表示空值所需的额外容量。 Nullable 类为 Nullable<(Of <(T>)>) 结构提供补充支持。Nullable 类支持获取可空类型的基础类型,对于其基础值类型不支持泛型比较和相等比较运算的可空类型,该类支持对其进行比较和相等比较运算。 方案
    根据具体环境,使用可空类型来表示存在或不存在的事物。例如,HTML 标记的某个可选属性可能存在于某一个标记中,但不存在于另一个标记中;或者数据库表的某个可空列可能存在于表的某一行中,但不存在于另一行中。 可将该属性或列表示为类中的一个字段,并可以将该字段定义为值类型。该字段可包含属性或列的所有有效值,但不能提供一个附加值来表示属性或列不存在。在这种情况下,将该字段定义为可空类型而不是值类型。装箱和取消装箱
    在对可空类型进行装箱时,公共语言运行库自动将 Nullable<(Of <(T>)>) 对象的基础值(而不是 Nullable<(Of <(T>)>) 对象本身)装箱。也就是说,如果 HasValue 属性为 true,则将 Value 属性的内容装箱。如果 HasValue 属性为 false,则将 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing) 装箱。在对可空类型的基础值进行取消装箱时,公共语言运行库创建一个新的初始化为基础值的 Nullable<(Of <(T>)>) 结构。 
      

  4.   

    可以为 null 的类型是 System..::.Nullable<(Of <(T>)>) 结构的实例。可以为 null 的类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。例如,Nullable<Int32> 读作“可以为 null 的 Int32”,可以将其赋值为 -2147483648 到 2147483647 之间的任意值,也可以将其赋值为 null 值。可以赋给 Nullable<bool> 的值包括 true、false 或 null。在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型的功能特别有用。例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义。class NullableExample
    {
        static void Main()
        {
            int? num = null;
            if (num.HasValue == true)
            {
                System.Console.WriteLine("num = " + num.Value);
            }
            else
            {
                System.Console.WriteLine("num = Null");
            }        //y is set to zero
            int y = num.GetValueOrDefault();        // num.Value throws an InvalidOperationException if num.HasValue is false
            try
            {
                y = num.Value;
            }
            catch (System.InvalidOperationException e)
            {
                System.Console.WriteLine(e.Message);
            }
        }
    }
      

  5.   

    更多参考与应用:
    http://www.cnblogs.com/insus/articles/1424094.html
      

  6.   

    可以为 null 的类型具有以下特性:可以为 null 的类型表示可被赋值为 null 值的值类型变量。无法创建基于引用类型的可以为 null 的类型。(引用类型已支持 null 值。)语法 T? 是 Nullable<(Of <(T>)>) 的简写,此处的 T 为值类型。这两种形式可以互换。为可以为 null 的类型赋值的方法与为一般值类型赋值的方法相同,如 int? x = 10; 或 double? d = 4.108;。如果基础类型的值为 null,请使用 Nullable<(Of <(T>)>)..::.GetValueOrDefault 属性返回该基础类型所赋的值或默认值,例如 int j = x.GetValueOrDefault();请使用 HasValue 和 Value 只读属性测试是否为空和检索值,例如 if(x.HasValue) j = x.Value;如果此变量包含值,则 HasValue 属性返回 True;或者,如果此变量的值为空,则返回 False。如果已赋值,则 Value 属性返回该值。否则,将引发 System..::.InvalidOperationException。可空类型变量的默认值将 HasValue 设置为 false。未定义 Value。使用 ?? 运算符分配默认值,当前值为空的可以为 null 的类型被赋值给非空类型时将应用该默认值,如 int? x = null; int y = x ?? -1;。不允许使用嵌套的可以为 null 的类型。将不编译下面一行:Nullable<Nullable<int>> n;
      

  7.   

    说明这个变量为null也是可以的
      

  8.   

    允许空值…….NET 2.0 新特性
      

  9.   

    DateTime 是值类型,.NET 值类型一经初始化,就有必须有值,不能赋 null但是数据库中任意类型都可以有 空 null所以,.net 2.0 引入了可空类型,建立在泛型的基础上,int? 是 C# 的特定语法,实际上是 Nullable<int> int? num1;
    int num2;
    num1 = null;
    num2 = null; // error
      

  10.   

    问这个还是蛮多的,值类型赋NUll,加个文号表示可以赋NUll