• 可空值类型


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;

    namespace _03可空值类型
    {
    class Program
    {
    static void Main(string[] args)
    {

    #region 可空值类型

    //引用类型可空,值类型不可空

    //int n = 10;
    //string s = "hello";
    //s = null;
    //n = null;

    // int? 等价于 Nullable<int>
    //int? n = 10;
    //Nullable<int> n = 10;
    //n = null;
    //n = 100;
    //n++;


    //Console.WriteLine(n);
    //Console.WriteLine("ok");
    //Console.ReadKey();

    //Nullable继承于Struct,结构体是值类型的,并不能真正赋值为null(详见图一)

    //所以可控制类型并没有把一个NULL值赋值给 变量n,而是编译时用另一中方式让你看起来可以为NULL。
    //Nullable<int> n = 10;

    //内部执行过程

    //Nullable<int> n;

    // 如果有值,那么内部HasValue属性赋值为true
    //n.HasValue = true;

    //然后赋值
    //n.Value = 10;

    //Nullable<int> n = null;

    //如果为Null,那么只把HasValue属性赋值为false,并不真正赋值。
    //n.HasValue = false;

    // 使用到的时候,例如判断 int? n =null 时候为null值。

    //if (n==null) //实际等价于 if(!n.HasValue)
    //{

    //}

    // 下同

    //int? n = 10;
    //double? d = 10.1;
    //float? x = 99;
    //bool? b = false;

    ////string? s = "aaa"; 报错可空值类型只能用于值类型,不能应用于引用类型,因为引用类型本身可以赋值为null。
    #endregion

    #region 使用带参数sql语句时的一个问题
    string sql = "insert into TblPerson values(@name,@age,@height,@gender)";


    SqlParameter[] pms = new SqlParameter[] {
    new SqlParameter("@name","王五"),

    new SqlParameter("@age",0), //报错 重载识别错误,详见图二。
    //new SqlParameter("@age",System.Data.SqlDbType.Int){Value=0}, //建议指明类型。
    new SqlParameter("@height",180),
    new SqlParameter("@gender",true)
    };
    _02封装SqlHelper类.SqlHelper.ExecuteNonQuery(sql, pms);
    Console.WriteLine("ok");
    Console.ReadKey();
    #endregion


    }
    }
    }

    图一 、利用反编译软件 .NetReflector 7.0 查看内部代码:

     图二 重载问题

  • 相关阅读:
    线程的资源释放(一)
    iOS开发完整项目
    iOS开发多线程技术方案
    Windows 7 Beta泄漏版存在安全问题 狼人:
    工信部:黑客入侵等是网络安全防护工作的重点 狼人:
    微软下周2将发布13个补丁 修复26个安全漏洞 狼人:
    调查显示互联网14%SSL认证不安全 狼人:
    09年恶意软件放缓 2010年共享最危险 狼人:
    IE曝新安全漏洞 千万网民隐私遭受威胁 狼人:
    安全关注:2009年信息安全八大预测 狼人:
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/8068589.html
Copyright © 2020-2023  润新知