(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#中的区别相关推荐

  1. null、undefined在ajax请求中的区别

    目前的前后端的数据交互大多都使用ajax利用JSON进行数据交换,在前端调用接口时遇到某些参数不需要传的情况时(接口将这些参数设置为可选的)我们应该将其设置为undefined还是null呢?它们两者 ...

  2. string.Empty和null三者的区别

    本文来讨论"",string.Empty和null三者到底有什么区别 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我 ...

  3. ,string.Empty和null三者的区别

    这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我来说下我对这三者的理解,如有错误的地方请大家及时指正. 一:""与st ...

  4. C#中的DBNull、Null、和String.Empty解释

    1.对DBNull的解释:     该类用于指示不存在某个已知值(通常在数据库应用程序中).     在数据库应用程序中,空对象是字段的有效值.该类区分空值(空对象)和未初始化值(DBNull.Val ...

  5. C#中NULL,,DBNULL,String.Empty,Convert.IsDBNull()的区别

    C#中的空值的判断较麻烦,不象在VB6中那么简单,这些各种空值的判断和理解对不熟悉的人来说,可能很麻烦,现就我在使用过程中的一点体会和大家共同分享. (1)NULL null 关键字是表示不引用任何对 ...

  6. C#中的DBNull、Null、String.Empty和“”

    null可赋值任何变量,将变量置为空  DBNull只用于DataRow对象,表示数据库中的空值  String.Empty是0长度字串  Convert.IsDBNull判断是否为DBNull DB ...

  7. Java 中关于String的空对象(null) ,空值(empty),空格 的总结

    Java 中关于String 对象的空对象(null), 空值(""),空格(" ")对于很多人来说很模糊,下面将分别介绍一下他们的用法:定义,判断,运算. 首 ...

  8. Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别

    Mysql 数据库默认值选 ''" .Null和Empty String的区别 1:空值('')是不占用空间的 2: MySQL中的NULL其实是占用空间的.官方文档说明: "NU ...

  9. string.empty , , null 以及性能的比较

    一:这种结论,个人觉得仍然存疑  http://www.cnblogs.com/wangshuai901/archive/2012/05/06/2485657.html  1.null null 关键 ...

最新文章

  1. 【大作业】城市地铁线路最短路规划及路径输出(满分)
  2. linux 下安装node 环境
  3. SQL Server 备份与恢复之四:备份类型和选项
  4. pagerank公式的理解
  5. EasyNVR无插件直播服务如何配合EasyBMS使用以及实现流媒体管理功能概述
  6. java随机姓名_Java生成随机姓名、性别和年龄的实现示例
  7. 一本书看懂数字化转型|全新《2021年度案例观察》限时免费送
  8. python虚拟cpu性能_基于Tensorflow:CPU性能分析
  9. hadoop深入学习之SequenceFile
  10. python调用jsonrpc接口_python使用grpc调用rpc接口
  11. IE7的CSS兼容性
  12. python 爬虫 糗百成人
  13. 深入理解JVM - 系统性能优化
  14. 文华软件登录显示请选择服务器,文华随身行 请先登入云服务器
  15. 榜样访谈——曾钰倬:从讲座中收获经验
  16. 美业SaaS的创业分享之[销售]:销售和销售管理
  17. WaitForSingleObject -- setevent 讲解与编程示例
  18. usaco4.4.1 Shuttle Puzzle
  19. 时钟加闹钟c语言程序,51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)...
  20. 加拿大计算机科学专业申请,加拿大计算机专业申请条件

热门文章

  1. 排序方法分析与代码实现
  2. 从零开始入门 K8s | 应用存储和持久化数据卷:核心知识
  3. 从零开始入门 K8s | 应用配置管理
  4. html 3d转换动画,开源项目:CSS 3D转换和动画学习示例教程
  5. linux终端名字怎么改,Ubuntu系统把终端用户名改成红色的技巧
  6. yii 全选 php,yii2中gridview使用技巧小结(四)——全选等批量操作
  7. php后台无法登入,PHP magento后台无法登录问题解决方法
  8. mysql怎么写Connection_MySQL里面的CONNECTION_ID
  9. 计算机的主要危害是什么意思,cpu使用率是什么意思 cpu使用率低但是电脑卡原因...
  10. c# ssh到linux,C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令