String.Empty、null、“” 区别
2024-08-26 18:37:38
概念准备:
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
最新文章
- JMeter压力测试
- Android自动化测试之MonkeyRunner
- Instruments指南:如何调试内存泄露
- laravel5的坑
- kali linux 2.0下搭建DVWA渗透测试演练平台
- SpringBoot系列: 如何优雅停止服务
- 启动eclipse could not create the java Vittual Machine
- Deep learning with Python 学习笔记(11)
- Python Every Class Needs a __repr__
- selenium之批量执行测试用例生成HTML结果文件
- Python:员工信息增删改查
- SSO系统的实现
- M2Crypto安装方法以及配置LDFLAGS、CFLAGS
- Python学习笔记系列——函数
- MAX值-单元测试
- 拦截iOS系统导航栏返回按钮事件-三种方法
- Python 入门(四)List和Tuple类型
- mybatis_mysql
- 依赖注入框架Google Guice 对象图
- 减少C盘空间占用的技巧
热门文章
- C# Excel 为图表添加模拟运算表
- 你想不到的!CSS 实现的各种球体效果【附在线演示】
- PHP+MySQL中实现分页
- ADO.net 更新和插入数据 遇到null 执行不成功
- 【翻译】设计模式学习系列1---【Design Patterns Simplified: Part 1【设计模式简述:第一部分】】
- 解决BUG:CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default
- Linux下查看版本号,查看存在的普通用户
- KMP算法-Java实现
- JMeter专题系列(三)元件的作用域与执行顺序
- C# out ref 重载