null

A是自定的类型

class A
    {
        public int a;
        public A(int par)
        {
            a = par;
        }
    }

A a1 = new A(42);

A a2;//隐式赋空值
            if (a2 == null)

a2 = a1 ;

此时,if语句会提示使用了未赋值的变量a2;

A a2可以改为显示赋空值,A  a2= null;

两者执行完后,a2都指向null。用第二种方式,a2就可以直接不赋值使用。

nullable

int i=0;

是给i赋值为0

如果想把一个值类型的变量赋值为空,用

int j = null;

会提示不能讲null赋值给int类型

此时我们可以用int ?j= null;

值类型后面加问号表示可为空null(Nullable 结构)Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术。  对于一个类型,如果既可以给它分配一个值,也可以给它分配空引用null(表示没有任何值),我们就说这个类型是可空的。  因此,可空类型可表示一个值,或表示不存在任何值。例如,类似 String 的引用类型就是可空类型,而类似 Int32 的值类型不是可空类型。Nullable 结构支持将值类型扩展为可以为null,但不支持在引用类型上使用,因为引用类型本身就是可空的。  因为值类型的容量只够表示适合于该类型的值,因此它不可为空;值类型没有表示空值所需的额外容量。

int i = 900;
            int ?j = null;
            j = 90;
            Console.WriteLine(j);//90
            j = null;
            Console.WriteLine(j);//空值,什么都没有
            j = i;
            Console.WriteLine(j);//900

允许将不可为空的int类型赋值给int ?,但是不能反过来将可以为空的int ?类型赋值给int,如果这样,在编译时会报错

C# null与nullable类型相关推荐

  1. c# nullable类型有什么用

    c# nullable类型有什么用 可空类型,语法: Nullable<int> inullx = 10;             int? inully = 10; Nullable&l ...

  2. java nullable,Nullable类型作为通用参数可能吗?

    回答(10) 2 years ago 将返回类型更改为Nullable,并使用非可空参数调用该方法 static void Main(string[] args) { int? i = GetValu ...

  3. Null和Undefined类型

    Null和Undefined类型都只有唯一的特殊值,即null和undefined.不过null是关键字而undefined不是. JavaScript把两者定义为相等的,如下代码可以验证: aler ...

  4. java null是什么类型_Java中的Null到底是什么

    对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误.Java为什么要保留null呢?null出现有一段时间了,并且我认 ...

  5. MySQL8.0向NOT NULL的TIMESTAMP类型字段插入NULL值的问题

    在学习SSM框架的过程中需实现如下过程: Key1:需要通过mybatis向数据库插入一条记录,且此记录包含timestamp类型字段.假设字段为[id,name,tel,pay_time],第四个为 ...

  6. js null ,null没有typeof返回值为undefine 即 null没有返回类型的

    var user="<%=session.getAttribute("username")%>"; alert(user); alert(user. ...

  7. java integer null 0_Mybatis Integer类型参数值为0时得到为空的解决方法

    今日遇到的问题: 查询版本信息时,由于version是Integer类型,所以当前台选择版本为0时,变成了查询了所有的版本信息. sql片段: AND a.version = #{version} 原 ...

  8. C#操作符??和?:

    先看如下代码: string strParam = Request.Params["param"]; if ( strParam== null ) { strParam= &quo ...

  9. 【Clickhouse】Clickhouse 运算符 操作符 算术,比较,取整,逻辑,哈希,条件 字符串函数

    文章目录 1.概述 M.参考 1.概述 转载:添加链接描述 1.常见操作:四则运算和拼接 运算符 运算符 函数 加 a + b plus(a, b) 减 a - b minus(a, b) 乘 a * ...

最新文章

  1. cas server 配置
  2. 来!说说你在流量控制方面的经验!
  3. python与mysql数据库_python与MySQL数据库
  4. idea怎么把代码放到git_在IDEA中如何初始化Git,把项目推送到Git上
  5. mysqldump导出数据库视图_mysql中如何用mysqldump批量如何导出视图view啊?
  6. Netty实战项目:Spring boot 程序的聊天程序
  7. 利用Simple-RTMP-Server(SRS)来进行直播
  8. CCF-CSP认证考试历年试题集
  9. cmd移动文件到另一个文件夹_Java 如何获得一个文件或文件夹的大小
  10. 各种排序算法稳定性的探讨
  11. UIWindow statusBar消失
  12. 逍遥模拟器android4.0版本,逍遥安卓模拟器工作室版
  13. 2011年11月份第二周51Aspx源码发布详情
  14. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(三)——模拟电子技术
  15. 面试题:搜狐百度 看1 复杂一点的面试题 笔试题
  16. 万马股份旗下万马爱充遭通报下架:违规收集个人信息,未及时整改
  17. hive 转拼音udf_Hive 自定义UDF函数
  18. GitHub上最火的Android开源项目整理
  19. S7-1500 PLC编程
  20. html 停留页面底部,HTML 中使 footer 始终处于页面底部

热门文章

  1. MIR DATABANK自动化和智能制造每周要闻 —2019年10月15日
  2. php自动生成发票,PHP创建PDF发票
  3. eclipse+装android+studio,EclipseAndroid Studio安装教程
  4. matlab地基土频散曲线,基于Rayleigh波理论的地基土动参数反演
  5. IEC61131, IEC61499图形可视化,PLC图形可视化,PLC组态,VBScript和JavaScript脚本,解决方案源代码, 开发平台100% VC++源码2018!
  6. HTML中input标签和button标签区别
  7. ios15html2canvas截图空白怎么解决
  8. java springboot + nginx 自建 文件集群服务器
  9. 3D视图生成器PS插件汉化版 Isometrical-3D View Generator-Photoshop Plugin
  10. 使用Netlogo模拟SIR疾病传播模型