类型后面加问号 int?

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

双问号---用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!


public int? para = null;
//public int para;如果不注释掉此行,而把上一行注释掉的话,下面会报错!
public int par()
{
    
return this.para ?? 0;
}

如:c#声明变量加问号(?)的区别 DateTime StartTime和DateTime? StartTime有什么区别?
新的语法,可空值类型。

如Int32、结构体等这样的类型是不可能为空的,常见的如int,DateTime都是不可能为空的。所以在需要判断是否有值的场合,可以用加问号的可空值类型,如int?,DateTime?

这时,可以为空(null),并且可以通过它的HasValue属性来判断是否有值,并通过Value属性获得真正的值。
它可以通过对包装类型直接赋值的方式隐式创建,如:
int? a=32;

具体的,可以搜索“可空值类型”来了解更多信息。

posted on 2012-04-13 11:41 SkyDream 阅读(1701) 评论(0)  编辑  收藏 所属分类: C# WinForm

<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜