我可以将char或DateTime设置为null吗?

我可以将null设置为char数据类型吗? 还有C#中的DateTime ? 多谢你们!

这是不可能的,它是一种价值类型。 使用

 char? myChar = null; DateTime? myDate = null; 

这相当于

 Nullable myChar = null; Nullable myDate = null; 

你不能。 这些是值类型,不能为null

但是,你可以使用char?DateTime? 代替。 的? 使类型可以为空。

您需要使用Nullable <>泛型:

 Nullable myChar = null; Nullable myDate = null; 

如果你有C#2.0或更新,你可以使用Nullable类型,如下所示:

 char? myChar = null; myChar = 'a'; // Do whatever you want with myChar 

对于DateTime也是如此,只需在类型后面添加一个问号。

它们实际上不能为null,因为它们是值类型,您可以将char设置为0,将DateTime设置为DateTime.MinValue。 或者您可以将它们设置为默认值(char),默认值(DateTime)。 或者使用Nullable类型,你可以有一个实际的null。