C#中 NULL,““,String.Empty三者的区别

这篇具有很好参考价值的文章主要介绍了C#中 NULL,““,String.Empty三者的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    (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并没有指向任何地方,在使用前如果不实例化的话,都将报错。

    判断时候,统一用string.IsNullOrEmpty(str)

**************************************************************************************************************文章来源地址https://www.toymoban.com/news/detail-542105.html

到了这里,关于C#中 NULL,““,String.Empty三者的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor at org.springf

      java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor     at org.springframework.security.core.userdetails.User.init(User.java:113)     at org.springframework.security.core.userdetails.User$UserBuilder.build(User.java:535)     at com.example.mz.spingsecurity_jwt_deepstudy.SpingsecurityJwtDeepstudyApplicationTests.tes

    2024年02月04日
    浏览(49)
  • Ajax、Fetch、Axios三者的区别

    概念:Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。是一种网络请求的概念框架。 主要特点:实现页面局部刷新,主要使用js的XMLHttpRequest请求实现网络请求。 主要缺点:使用函数回调的方式实现异步请求,若请求里写请求将会导致回调地狱的发生。 示例代码: 概念:

    2024年04月15日
    浏览(30)
  • 微服务、SpringBoot、SpringCloud 三者的区别

    🎈 作者: Linux猿 🎈 简介: CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! 🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬         现在 「 微服务 」 发展的正如火如荼,相比大家都有所了解,但是

    2024年02月11日
    浏览(36)
  • Spring、SpringMVC、SpringBoot三者的区别

            目录 Spring是什么? SpringMVC是什么? SpringBoot是什么? Spring、SpringMVC、SpringBoot三者之间的关系 Spring是一个开源的应用程序框架,它提供了一种简易的开发方式,通过依赖注入和面向切面编程,可以实现高内聚低耦合的应用程序。Spring还提供了多个模块,如Spring

    2024年02月11日
    浏览(32)
  • 【面试题03】isset 与 empty 区别

    本文已收录于PHP全栈系列专栏:PHP面试专区。 计划将全覆盖PHP开发领域所有的面试题, 对标资深工程师/架构师序列 ,欢迎大家提前关注锁定。 PHP是一种广泛使用的服务器端脚本语言,可以编写动态网页,支持面向对象程序设计、命令行接口和图形用户界面。在PHP中,isse

    2024年02月11日
    浏览(31)
  • 简单介绍JDK、JRE、JVM三者区别

    文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 1995年Sun公司在SunWorld大会上发布了Java1

    2024年01月17日
    浏览(47)
  • 计算机病毒,蠕虫,木马三者之间的区别

    病毒、蠕虫和木马是可导致计算机和计算机上的信息损坏的恶意程序。 根据《中华人民共和国计算机信息系统安全保护条例》,病毒的明确定义是“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序

    2023年04月14日
    浏览(43)
  • 机器学习、人工智能、深度学习三者的区别

    目录 1、三者的关系 2、能做些什么 3、阶段性目标 机器学习、人工智能(AI)和深度学习之间有密切的关系,它们可以被看作是一种从不同层面理解和实现智能的方法。 人工智能(AI):人工智能是一门研究如何使计算机能够模仿人类智能的学科。它涵盖了各种技术和方法,

    2024年02月14日
    浏览(61)
  • Token,Cookie和Session三者的区别

    在做各种接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解。 cookie是服务器端生成发送给客户端在客户端保存的 session是放在服务器端来和客户端的cookie做匹配的 Token是为了解决客户端频繁向服务端请求数据,服

    2024年02月04日
    浏览(36)
  • 2、JDk、JRE、JVM三者区别和联系

    Java Develpment Kit java 开发工具 Java Runtime Environment java 运行时环境 java Virtual Machine java 虚拟机 JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类

    2024年02月13日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包