Nullable DateTime?

haz*_*zem 12 c# nullable

如何为可为空的日期时间创建setter和getter属性.例如:

private DateTime mTimeStamp;

public DateTime TimeStamp
{
      get { return mTimeStamp; }
      set { mTimeStamp = value; }
}
Run Code Online (Sandbox Code Playgroud)

可空属性是否支持setter和getter或者我是否将其声明为public?

private DateTime? mTimeStamp;

public DateTime TimeStamp
{

}
Run Code Online (Sandbox Code Playgroud)

Yuc*_*uck 19

你可以这样做:

public DateTime? TimeStamp { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果您遇到编译器问题,可能是因为您只更改了其中一个关联部分 - private成员变量或属性的数据类型.当然,他们需要匹配和自动属性处理对你很好.

编辑只是为了进一步澄清,DateTime?不仅仅是用一个?属性装饰- 它完全不同于DateTime.DateTime?被简写Nullable<DateTime>,这是一种通用的(Nullable<T>),其提供通过包装通用参数到非基准可为空的类型支持T,这是一个struct.