zoukankan      html  css  js  c++  java
  • String.Empty、null、“” 区别

    概念准备:

      1、引用类型是将对象是实际数据保存在堆中, 将对象在堆中的地址保存在栈中。

      2、值类型直接将实际数据存放在堆中,不会将对象在堆中的地址保存在栈中。

    一、String.Empty和“” 本质相同的,都在内存中分配一个长度为0的存储空间;

      1、string.Empty与””都会在栈中保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间。

      2、实际上Empty是string类中的一个静态的只读字段,他的定义是这样的:

      public static readonly String Empty = "";

    二、null 不在内存中分配空间。

    三、例子:

      string str1=””;

      string str2=null;

      str1会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是str1的实际值。

      str2同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000。

    四、更详细的信息来源

         http://www.cnblogs.com/xionglee/articles/2555965.html

     

      

  • 相关阅读:
    发送 GET 和 POST 请求
    日志记录帮助类
    常用正则表达式
    获取验证码
    C# 生成二维码
    android sql Cursor
    sql 语句操作
    android 界面悬浮框实现
    android activity四种启动模式
    andorid 自定义view属性declare-styleable
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6075741.html
Copyright © 2011-2022 走看看