c# - 可为空的日期时间?

标签 c# nullable

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

private DateTime mTimeStamp;

public DateTime TimeStamp
{
      get { return mTimeStamp; }
      set { mTimeStamp = value; }
}

可空属性是否支持 setter 和 getter 或是否必须将其声明为公开?

private DateTime? mTimeStamp;

public DateTime TimeStamp
{

}

最佳答案

您可以改为这样做:

public DateTime? TimeStamp { get; set; }

如果您在使用编译器时遇到问题,那可能是因为您只更改了一个相关部分 - private成员变量或属性的数据类型。当然,它们需要匹配,自动属性可以很好地为您处理。

编辑 为了进一步说明,DateTime?不仅装饰有 ?属性 - 它完全不同于DateTime . DateTime?Nullable<DateTime> 的简写,这是一个泛型 ( Nullable<T> ),它通过包装泛型参数 T 为非引用类型提供可空支持。 ,这是一个 struct .

关于c# - 可为空的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839787/

相关文章:

C#、反射和原始类型

c# - 我的多线程 HttpClient 有什么问题吗?

c# - 下面的空条件运算符有什么问题?

java - 使用Optional验证输入法参数

c# - 可空类型 "int?"(包括问号)的默认值是多少?

c# - Entity Framework 生成的类的正确使用(数据库优先方法)

c# - 同一张表的 EF 代码第一个重复外键

javascript - Kendo网格导出日期格式不正确

c# - 隐式转换 必须显式使用

c# - 具有 Type<T> 可为空值的 <T> 类型的类