“DateTime?”是什么?在C#中意味着什么? [英] What does "DateTime?" mean in C#?

查看:130
本文介绍了“DateTime?”是什么?在C#中意味着什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在读一本.Net书,在其中一个代码示例中有一个这个字段的类定义:

  private DateTime? startdate 

DateTime?是什么意思? / p>

解决方案

由于 DateTime 是一个 code>,而不是一个,你得到一个 DateTime 对象当您声明该类型的字段或变量时,引用。而且,与 int 不能 null 相同,所以这个 DateTime object never not null,因为它不是一个引用。



添加问号将它变成一个 可空类型 ,这意味着 它是一个 DateTime 对象,它是 null Nullable 本身就是一个 struct


I am reading a .Net book, and in one of the code examples there is a class definition with this field:

private DateTime? startdate

What does DateTime? mean?

解决方案

Since DateTime is a struct, not a class, you get a DateTime object, not a reference, when you declare a field or variable of that type. And, in the same way as an int cannot be null, so can this DateTime object never be null, because it's not a reference.

Adding the question mark turns it into a nullable type, which means that either it is a DateTime object, or it is null.

DateTime? is syntactic sugar for Nullable<DateTime>, where Nullable is itself a struct.

这篇关于“DateTime?”是什么?在C#中意味着什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆