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

     

      

  • 相关阅读:
    ACS 20070108 更新
    道德沦丧 还是意识淡薄
    Alienwave.CommunityServer 20070103 更新
    无题
    《白马啸西风》之李文秀
    突然感觉自己像拉皮条的
    数据库日志文件(x.ldf)如何打开?
    调试.NET出错
    老大离开南京了
    最近太任性了
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6075741.html
Copyright © 2011-2022 走看看