C#将DateTime的值设为Null
经常有这样的需求:比如客户的生日字段是DateTime类型,在添加客户时,生日可输可不输。
如果没有输生日,在给客户类的生日属性赋值时,
在C#中,将DateTime的值设为Null,即 DateTime birthday = null;
这样程序会在编译时报错,因为DateTime是值类型,而值类型是不能直接等于null的。
那怎么办呢?简单,将生日字段定义为可空类型(.NET2.0的新特性)就行了,
应用泛型的声明方法:
Nullable<DateTime> birthday = null;
一般的方法:
DateTime? birthday = null;
对可空类型取值时,用birthday.Value
判断可空类型是否有值,用 birthday == null 或者 birthday.HasValue()
最后再说明一点
可空类型不可以用三目运算来赋null值,这样也会报错
比如 Nullable<DateTime> birthday = 1==2 ? null : DateTime.Now;
如果想用三目运算也行,改成这样就可以了
Nullable<DateTime> birthday;
birthday = 1==2 ? birthday : DateTime.Now;
可空类型就是包含所定义的数据类型和空值
如果没有输生日,在给客户类的生日属性赋值时,
在C#中,将DateTime的值设为Null,即 DateTime birthday = null;
这样程序会在编译时报错,因为DateTime是值类型,而值类型是不能直接等于null的。
那怎么办呢?简单,将生日字段定义为可空类型(.NET2.0的新特性)就行了,
应用泛型的声明方法:
Nullable<DateTime> birthday = null;
一般的方法:
DateTime? birthday = null;
对可空类型取值时,用birthday.Value
判断可空类型是否有值,用 birthday == null 或者 birthday.HasValue()
最后再说明一点
可空类型不可以用三目运算来赋null值,这样也会报错
比如 Nullable<DateTime> birthday = 1==2 ? null : DateTime.Now;
如果想用三目运算也行,改成这样就可以了
Nullable<DateTime> birthday;
birthday = 1==2 ? birthday : DateTime.Now;
可空类型就是包含所定义的数据类型和空值
- 评论
-
- [使用Ctrl+Enter键可以直接提交]
表情图标
Advertise
Category
Time Counter
离十一还有
Recent Article
- 1.工作笔记:AS3加载外部图片,有加载百分比
- 2.document.documentElement和document.body的区别
- 3.100种增加网站流量的方法
- 4.用div+css模拟表格对角线
- 5.如何做一个好的技术型领导
- 6.苍井空是谁?
- 7."心态"新解
- 8.程序员特有的9个坏习惯
- 9.AS3入门之简单Loading效果
- 10.系统问题:浏览器无法打开png图片
- 11.AS3中以post和get方式提交数据
- 12.defaultTextFormat和setTextFormat()区别
- 13.AS3中超方便地遍历xml
- 14.pv3d中物体常用的移动属性
- 15.开源Flash 3D引擎Papervision3d
- 16.as3 判断鼠标滚轮前滚或后滚
- 17.js:行向上替换滚动效果
- 18.为什么要清净?(禅与佛)
- 19.扩展window.setTimeout方法
- 20.收集2010的搞笑短句
Statistics
Recent Comments
Archive
Links
Support
TOP



