NULL,,String.Empty三者在C#中的区别
(1)NULL
null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类型的。
(2)""和String.Empty
这两个都是表示空字符串。只不过""理论上重新开辟内存空间,而String.Empty指向一处。不过优化器会优化的!
string.Empty不分配存储空间, ""分配一个长度为空的存储空间,所以一般用string.Empty,为了以后跨平台,还是用string.empty。
在C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:
string s = "";
string s2 = string.Empty;
if (s == string.Empty) {//} if语句成立
(3)判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""
注意:
1.string str1="" 和 string str2=null 的区别。
str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,
string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。
转载于:https://www.cnblogs.com/liuyaozhi/p/5809521.html
NULL,,String.Empty三者在C#中的区别相关推荐
- null、undefined在ajax请求中的区别
目前的前后端的数据交互大多都使用ajax利用JSON进行数据交换,在前端调用接口时遇到某些参数不需要传的情况时(接口将这些参数设置为可选的)我们应该将其设置为undefined还是null呢?它们两者 ...
- string.Empty和null三者的区别
本文来讨论"",string.Empty和null三者到底有什么区别 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我 ...
- ,string.Empty和null三者的区别
这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我来说下我对这三者的理解,如有错误的地方请大家及时指正. 一:""与st ...
- C#中的DBNull、Null、和String.Empty解释
1.对DBNull的解释: 该类用于指示不存在某个已知值(通常在数据库应用程序中). 在数据库应用程序中,空对象是字段的有效值.该类区分空值(空对象)和未初始化值(DBNull.Val ...
- C#中NULL,,DBNULL,String.Empty,Convert.IsDBNull()的区别
C#中的空值的判断较麻烦,不象在VB6中那么简单,这些各种空值的判断和理解对不熟悉的人来说,可能很麻烦,现就我在使用过程中的一点体会和大家共同分享. (1)NULL null 关键字是表示不引用任何对 ...
- C#中的DBNull、Null、String.Empty和“”
null可赋值任何变量,将变量置为空 DBNull只用于DataRow对象,表示数据库中的空值 String.Empty是0长度字串 Convert.IsDBNull判断是否为DBNull DB ...
- Java 中关于String的空对象(null) ,空值(empty),空格 的总结
Java 中关于String 对象的空对象(null), 空值(""),空格(" ")对于很多人来说很模糊,下面将分别介绍一下他们的用法:定义,判断,运算. 首 ...
- Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别
Mysql 数据库默认值选 ''" .Null和Empty String的区别 1:空值('')是不占用空间的 2: MySQL中的NULL其实是占用空间的.官方文档说明: "NU ...
- string.empty , , null 以及性能的比较
一:这种结论,个人觉得仍然存疑 http://www.cnblogs.com/wangshuai901/archive/2012/05/06/2485657.html 1.null null 关键 ...
最新文章
- 【大作业】城市地铁线路最短路规划及路径输出(满分)
- linux 下安装node 环境
- SQL Server 备份与恢复之四:备份类型和选项
- pagerank公式的理解
- EasyNVR无插件直播服务如何配合EasyBMS使用以及实现流媒体管理功能概述
- java随机姓名_Java生成随机姓名、性别和年龄的实现示例
- 一本书看懂数字化转型|全新《2021年度案例观察》限时免费送
- python虚拟cpu性能_基于Tensorflow:CPU性能分析
- hadoop深入学习之SequenceFile
- python调用jsonrpc接口_python使用grpc调用rpc接口
- IE7的CSS兼容性
- python 爬虫 糗百成人
- 深入理解JVM - 系统性能优化
- 文华软件登录显示请选择服务器,文华随身行 请先登入云服务器
- 榜样访谈——曾钰倬:从讲座中收获经验
- 美业SaaS的创业分享之[销售]:销售和销售管理
- WaitForSingleObject -- setevent 讲解与编程示例
- usaco4.4.1 Shuttle Puzzle
- 时钟加闹钟c语言程序,51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)...
- 加拿大计算机科学专业申请,加拿大计算机专业申请条件
热门文章
- 排序方法分析与代码实现
- 从零开始入门 K8s | 应用存储和持久化数据卷:核心知识
- 从零开始入门 K8s | 应用配置管理
- html 3d转换动画,开源项目:CSS 3D转换和动画学习示例教程
- linux终端名字怎么改,Ubuntu系统把终端用户名改成红色的技巧
- yii 全选 php,yii2中gridview使用技巧小结(四)——全选等批量操作
- php后台无法登入,PHP magento后台无法登录问题解决方法
- mysql怎么写Connection_MySQL里面的CONNECTION_ID
- 计算机的主要危害是什么意思,cpu使用率是什么意思 cpu使用率低但是电脑卡原因...
- c# ssh到linux,C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令