A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 幸福的彼岸 中级黑马   /  2014-1-15 18:02  /  1401 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 幸福的彼岸 于 2014-1-16 09:33 编辑
  1. int? i=null;
  2. Console.WriteLine(i);
复制代码

int类型的i应该是值类型的,为什么可以给它赋值null呀?

评分

参与人数 1技术分 +1 收起 理由
卖火柴 + 1

查看全部评分

5 个回复

倒序浏览
看不懂你的代码,int后面怎么还有个“?”啊?再说int类型的i是不可以赋值null的,而Integer类型的倒是可以赋值null。

个人拙见,仅供参考,如有错误,还望赐教。
回复 使用道具 举报
int? 是可空的int类型,是可以赋值为null,所以是不会报错的

评分

参与人数 1技术分 +1 收起 理由
卖火柴 + 1

查看全部评分

回复 使用道具 举报
这是一个可空数据类型
回复 使用道具 举报
这是个可空类型
回复 使用道具 举报
本帖最后由 §風過無痕§ 于 2014-1-16 00:53 编辑

敬请参考可空类型!
可空类型是C#2.0中引入的,可空类型是可以包括null的值类型


可空类型经常与??操作符一起使用 起用法如下
  1. namespace 可空类型
  2. {
  3.         class Program
  4.         {
  5.                 public static void Main(string[] args)
  6.                 {
  7.                         int? i=null ;
  8.                         int num=i??12;//若i不为空 把??左边的值赋给变量num 否则把??右边的值赋给num
  9.                         Console .WriteLine (num);//num=12
  10.                        
  11.                         Console .WriteLine ("*******************");
  12.                         int? i1=5;
  13.                         int num1=i1??12;
  14.                         Console .WriteLine (num1);//num=5
  15.                        
  16.                         Console.ReadKey(true);
  17.                 }
  18.         }
  19. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
卖火柴 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马