首页 新闻 会员 周边

C# 定义变量,在类型后边加个“?”是什么意思?

0
悬赏园豆:5 [已关闭问题]

例如: private Guid? _Parent;

 这个“?”是什么意思啊?

谢谢

大青岛的主页 大青岛 | 初学一级 | 园豆:142
提问于:2008-12-18 00:13
< >
分享
其他回答(13)
0

单问号---用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0。

PS:搜索“c# 问号”有更多解释

紫微星 | 园豆:195 (初学一级) | 2008-12-18 01:08
1

Guid?表示nullable类型,也就是可以赋为null值的Guid类型。

值类型是没有null值的,比如int,DateTime,它们都有默认值。举个例子,在访问数据库时,会存在一定的问题,Person类有字段Age(int类型),Birthday(DateTime),如果没有给它们赋值,我们期望的是向数据库插入时,应该是null,而不是0和0001-01-01;同样从数据库取值时也是如此,如果数据值为null,我们也希望Age和Birthday的值能反应出来,如果不使用int?和DateTime?就做不到。

可以参考:http://msdn.microsoft.com/zh-cn/library/1t3y8s4s(VS.80).aspx。

Anders Cui | 园豆:1570 (小虾三级) | 2008-12-18 02:16
0

加? 表示可为NULL的值类型。

int? 相当于 Nullable<int>

Guid? 相当于 Nullable<Guid>

eaglet | 园豆:17139 (专家六级) | 2008-12-18 07:24
0

可以看看这个提问,我当是也不理解,还误解了人家http://space.cnblogs.com/question/3660/

Astar | 园豆:40805 (高人七级) | 2008-12-18 08:16
0

呵呵是nulable。加了问号变为引用类型了吧。

zeus2 | 园豆:92 (初学一级) | 2008-12-18 08:57
0

可空值类型

慧致澜馨 | 园豆:205 (菜鸟二级) | 2008-12-18 09:00
0

int?是与int对应的可空类型,值类型的默认值为零,永远不为空,为了使值类型可以为空,.net 增加了一个与int对应的int?可空类型。这个int?和int不是同一类型,但在实现上有一定关系,其它类似.

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-18 09:23
0

Cui的回答不错,今天也跟你学了一些不知道的东西.

有所为,有所不为 | 园豆:1200 (小虾三级) | 2008-12-18 10:11
1

可空类型

Denuvead | 园豆:205 (菜鸟二级) | 2008-12-18 10:16
0

嗯,我也算是学习了.

稻草人 | 园豆:83 (初学一级) | 2008-12-18 10:27
0

这种问题你应去查MSDN文档帮助这里有很详细的说明

余韬 | 园豆:190 (初学一级) | 2008-12-18 11:56
0

Nullable

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2008-12-18 14:03
0

这个问题人气真旺~~我以前也没见过(注意过)这种语法。感谢提问者~呵呵

BB_Coder | 园豆:797 (小虾三级) | 2008-12-18 14:28
0

可空类型,可以给值类型赋值null。

ChongyuZhu | 园豆:205 (菜鸟二级) | 2008-12-19 06:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册