黑马程序员技术交流社区
标题:
为什么下面的代码不报错呀?
[打印本页]
作者:
幸福的彼岸
时间:
2014-1-15 18:02
标题:
为什么下面的代码不报错呀?
本帖最后由 幸福的彼岸 于 2014-1-16 09:33 编辑
int? i=null;
Console.WriteLine(i);
复制代码
int类型的i应该是值类型的,为什么可以给它赋值null呀?
作者:
七录斋
时间:
2014-1-15 18:27
看不懂你的代码,int后面怎么还有个“?”啊?再说int类型的i是不可以赋值null的,而Integer类型的倒是可以赋值null。
个人拙见,仅供参考,如有错误,还望赐教。
作者:
念~
时间:
2014-1-15 19:08
int? 是可空的int类型,是可以赋值为null,所以是不会报错的
作者:
林成彬
时间:
2014-1-15 19:30
这是一个可空数据类型
作者:
矫情
时间:
2014-1-15 21:04
这是个可空类型
作者:
§風過無痕§
时间:
2014-1-16 00:38
本帖最后由 §風過無痕§ 于 2014-1-16 00:53 编辑
敬请参考可空类型!
可空类型是C#2.0中引入的,
可空类型是可以包括null的值类型
可空类型经常与??操作符一起使用 起用法如下
namespace 可空类型
{
class Program
{
public static void Main(string[] args)
{
int? i=null ;
int num=i??12;//若i不为空 把??左边的值赋给变量num 否则把??右边的值赋给num
Console .WriteLine (num);//num=12
Console .WriteLine ("*******************");
int? i1=5;
int num1=i1??12;
Console .WriteLine (num1);//num=5
Console.ReadKey(true);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2