我在C#中有以下神秘声明:
Dictionary<string, DateTime?> badCameras = new Dictionary<string, DateTime?>();
这是由程序员不再写的&amp;正在编译!什么是&#39;?&#39;是指以下DateTime对象?它与结构有关吗?我在线搜索过&amp; amp;我一无所获?顺便说一句,这是.NET3.5。
由于
答案 0 :(得分:1)
DateTime?
是Nullable<DateTime>
的编译糖。有效地,可空类型允许在处理通常不支持null
的{{3}}时使用null
。有关详细信息,请参阅python documentation。
答案 1 :(得分:1)
?在该上下文中是Nullable<T>
的快捷方式。在您的示例中,它等同于:
Dictionary<string, Nullable<DateTime>>
主要目的是允许值类型保存null
值。