当前位置:编程学习 > C#/ASP.NET >>

动软.net代码生成器 生成的model层代码后面加个问号是什么意思啊?

动软.net代码生成器  生成的model层代码后面加个问号是什么意思啊?
/// </summary>
        public DateTime? AddTime
        {
            set { _addtime = value; }
            get { return _addtime; }
        }
        /// <summary>
        /// 
        /// </summary>
        public int? CheckType
        {
            set { _checktype = value; }
            get { return _checktype; }
        } --------------------编程问答-------------------- 数据库里 是可以为空的 --------------------编程问答--------------------   类型后面加问号 表示可以为空! --------------------编程问答-------------------- 一般都是针对int类型,不用管它不影响程序运行 --------------------编程问答-------------------- 那为什么以前生成代码的时候没有发现有问号呢? --------------------编程问答-------------------- 哥们有时间去看看书 
泛型那一章节 --------------------编程问答-------------------- 比如时间问题你一般赋值为空要报错吧,但是你在那个类型上加一个?就不会错了。
是不是有点通俗。 --------------------编程问答--------------------
引用 6 楼 haonanxxx 的回复:
比如时间问题你一般赋值为空要报错吧,但是你在那个类型上加一个?就不会错了。
是不是有点通俗。

"?"问号是? --------------------编程问答-------------------- 你的数据库字段可以为空,生成实体后,它就会在那字段上加上?号 --------------------编程问答-------------------- 相应的字段在数据库中可以为空 --------------------编程问答-------------------- 用动软生成的还要改类名。 --------------------编程问答--------------------
引用 10 楼 net609 的回复:
用动软生成的还要改类名。


这个有源码,可以随意自己定制 --------------------编程问答--------------------
引用楼主 amy1125 的回复:
动软.net代码生成器 生成的model层代码后面加个问号是什么意思啊?
/// </summary>
  public DateTime? AddTime
  {
  set { _addtime = value; }
  get { return _addtime; }
  }
  /// <summary>
  /// 
  /// </summary>
  public……


主要用来设置某个值可以为空,例如 int类型 bool类型. --------------------编程问答-------------------- 相当于 Nullable<DateTime>, Nullable<int> --------------------编程问答-------------------- 可空类型 --------------------编程问答-------------------- 后面.value --------------------编程问答-------------------- 后面.value --------------------编程问答-------------------- 可空值类型 --------------------编程问答-------------------- 可空值类型  null --------------------编程问答-------------------- 可空类型:下面的是例子:           
 int? i = null;
 int b = i ?? 0;

int? i = 3;
int b= i??0;

看懂了这两个,就知道?和??是做什么用的了。 --------------------编程问答-------------------- 表示可空类型,你可给它赋值为null,亦可赋值为你声明的数据类型 --------------------编程问答-------------------- 类型后面加问号 表示可以为空!
我们知道数据库表字段内容是可空的,实体类一定意义上代表一个表字段的描述。但通常你声明一个类型属性的时候是无法进行Null赋值的,所以属性若想表示可空或有值,可直接加个? --------------------编程问答-------------------- 额,还是学习了... --------------------编程问答-------------------- 类型后面加问号 表示可以为空! --------------------编程问答-------------------- 这个我也是到这个公司来才看到过。好像也算的上是个新特新。也不知道怎么说举个例子。错了别见怪没测过。
int?a
那个a可以用null 表示 --------------------编程问答-------------------- Nullable<DateTime>, Nullable<int>

都是可空类型,使用的时候比较方便。

注意序列化的时候可能会出问题。

参考:
http://msdn.microsoft.com/zh-cn/library/1t3y8s4s(VS.80).aspx
http://msdn.microsoft.com/zh-cn/library/2cf62fcy(VS.80).aspx --------------------编程问答-------------------- ? 表示可以为空 --------------------编程问答-------------------- 学习了,遇到过 --------------------编程问答-------------------- --------------------编程问答-------------------- 如大家所说,?是指这个字段可以为空。但补充点的是在Model取这个字段值时要用 字段名.Value --------------------编程问答-------------------- 如果你不修改这个?
然后你还想用他生成的DAL,估计会有问题,最好去掉,虽然他表示可空,
但用起来没实际意义 --------------------编程问答-------------------- 表示可为空啊 加问号 当值为null是 int  不会报错 --------------------编程问答--------------------
引用 31 楼 lcp147572931 的回复:
表示可为空啊 加问号 当值为null是 int 不会报错

原来如此。学习了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 就是数据库的字段可以为空,楼上都说了。 --------------------编程问答-------------------- --------------------编程问答-------------------- int?表示可空的int,就是说 int? = null
一般情况下 int = null是会报错的
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,