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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zpzhangwenhan 中级黑马   /  2013-5-30 12:49  /  2407 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zpzhangwenhan 于 2013-6-6 23:14 编辑
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace ConsoleApplication1
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Person p = new Person();
  12.             p.Age = null;
  13.             p.Age2 =null;
  14.         }
  15.     }

  16.     public class Person
  17.     {
  18.         public int? Age
  19.         {
  20.             get;
  21.             set;
  22.         }
  23.         public int Age2
  24.         {
  25.             get;
  26.             set;
  27.         }

  28.     }
  29. }
复制代码
int 不能赋值为null
int? 能赋值为null
这是怎么回事
这两种类型有什么不同???

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
c15881291595 发表于 2013-5-30 14:11
对  两种不同的类型 int?是int可空类型 顾名思义即可设置为null的类型,int整型只能定义整型数据。 ...

我们知道 引用类型可以为null 值类型不能为null
int? 变成可空类型后 是不是 int变成了引用类型
我有点绕
回复 使用道具 举报
哥们不错啊``{:soso_e102:}
回复 使用道具 举报
int是整型属于值类型,是数字没有null这一值的,但是我们用的SQL(数据库)里面的值是可以为null的,那么C#为了迎合数据库的null值就新定义了一个int?的类型,它可以为null。当然还有其它原本不可为null的值类型(如DateTime、bool等)也可以这样用。

楼上的给分吧。。呵呵~

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
关关雎鸠 发表于 2013-5-30 20:54
int是整型属于值类型,是数字没有null这一值的,但是我们用的SQL(数据库)里面的值是可以为null的,那么C# ...

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