C# 字符串(string)三个不同的处理方法:IsNullOrEmpty、IsInterned 、IsNullOrWhiteSpace

news2024/10/9 23:22:13

在C#中,string.IsNullOrEmptystring.IsInternedstring.IsNullOrWhiteSpace 是三个不同的字符串处理方法,它们各自有不同的用途:

1.string.IsNullOrEmpty

这个方法用来检查字符串是否为null或者空字符串("")。如果字符串为null或者长度为0,那么这个方法返回true

string.IsNullOrEmpty(null); // 返回 true
string.IsNullOrEmpty("");   // 返回 true
string.IsNullOrEmpty(" ");  // 返回 false

 2.string.IsInterned

这个方法是用来检查字符串是否已经被字符串池(String Interning)处理过。字符串池是一种内存优化技术,用于存储静态字符串或常量字符串的单一副本,以减少内存使用。如果字符串已经被 interned,那么IsInterned返回那个字符串的 interned 版本;如果没有,则返回原字符串。

string a = "hello";
string b = "hello";
string c = new string('h', 5);
string.d(a) == string.d(b); // 返回 true,因为 a 和 b 指向同一个 interned 对象
string.d(a) == string.d(c); // 返回 false,因为 c 是一个新创建的字符串实例

3.string.IsNullOrWhiteSpace: 

这个方法用来检查字符串是否为null、空字符串或者只包含空白字符(如空格、制表符和换行符)。如果字符串满足这些条件之一,那么这个方法返回true

string.IsNullOrWhiteSpace(null);       // 返回 true
string.IsNullOrWhiteSpace("");        // 返回 true
string.IsNullOrWhiteSpace(" ");        // 返回 true
string.IsNullOrWhiteSpace("\t");      // 返回 true
string.IsNullOrWhiteSpace("\n");      // 返回 true
string.IsNullOrWhiteSpace("hello");    // 返回 false

 总结:

string.IsNullOrEmpty 只检查 null 和空字符串。

string.IsInterned 检查字符串是否已经被 interned。

string.IsNullOrWhiteSpace 检查 null、空字符串和空白字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?

“发信息”还可以怎么说? 其实很简单,message做动词时,可以直接表达:发信息 ▼ 🌰举个例子 I messaged him yesterday but havent had a reply. 昨天我给他发了短信,但没有回音。 我们现在常说的“发信…

使用Python批量修改文件修改日期为随机的6到8月份

使用Python批量修改文件修改日期为随机的6到8月份 每当雪花飘起的时候,总有一股抹不去的情节,会想起儿时雪天的记忆,虽然模糊但也清晰。那时每年的冬季很冷,但依然喜欢飘雪的日子,看着满天迷蒙飘舞的雪花总有想不完的心…

生成树实验

1 生成树关键点, 第一树根,第二在每个非根桥找root端口 第三 在每个物理片段找指定网桥,第四指定网桥对应的端口就是指定端口 bpdu 比较的方式 root 桥,到root 桥的路径开销,指定桥,指定端口&#x…

双登股份再战IPO:数据打架,实控人杨善基千万元股权激励儿子

撰稿|行星 来源|贝多财经 近日,双登集团股份有限公司(下称“双登股份”)递交招股书,准备在港交所主板上市,中金公司、建银国际、华泰国际为其联席保荐人。 贝多财经了解到,这并非双登股份首次向资本市场…

谷歌AI大模型Gemini API快速入门及LangChain调用视频教程

1. 谷歌Gemini API KEY获取及AI Studio使用 要使用谷歌Gemini API,首先需要获取API密钥。以下是获取API密钥的步骤: 访问Google AI Studio: 打开浏览器,访问Google AI Studio。使用Google账号登录,若没有账号&#xf…

体制内的必须要知道的“人情世故”及职场礼仪

最近,一位新来的小姑娘在参加活动的时候给外来领导带路,结果到跟前时,没有及时退让,夹在了自己领导与外来领导之间,妨碍了两位领导握手,下来后被一顿狠批。这其实是新人不太懂职场礼仪导致的,笔…

OpenCV库模块解析

1.OpenCV库每个模块解析 2.OpenCV的常用函数 它为计算机视觉应用程序提供了一个通用的基础设施,并加速了在商业产品中使用机器感知。作为BSD许可的产品,OpenCV使企业可以很容易地利用和修改代码。该库拥有超过2500个优化算法,其中包括经典和最…

大数据-158 Apache Kylin 安装配置详解 集群模式启动

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

无线麦克风什么牌子的音质效果好?选购中必须警惕劣质产品

在音频设备不断推陈出新、日益丰富多样的今天,无线领夹麦克风以其独有的优点崭露头角。它的设计非常精巧,佩戴起来既舒适又方便,并且在各种不同的环境下都能保证音质稳定以及传输效果良好。 无论是在户外进行拍摄、室内开展直播,…

uniapp学习(003-3 vue3学习 Part.3)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第21p-第p25的内容 文章目录 双向绑定的实现原理例子 计算属性例子1双向绑定格式改成计算属性 例子2 watchwatc…

STM32 -- USB通信 ( 虚拟串口)

本篇操作: 通过CubeMX Keil,配置STM32作为USB设备端,与电脑进行通信(CDC);通用带USB功能的 STM32 芯片 (如F1、F4等,系统时钟配置不同,代码通用)。 目录 一、 STM32内…

高质量带货短视频素材来源推荐

在抖音带货时,寻找高质量视频素材至关重要。今天,我为大家分享五个可以下载高清无水印带货短视频素材的网站,帮助你轻松获取灵感和素材! 蛙学网 蛙学网作为国内领先的短视频素材平台,提供多种类的带货短视频素材。无论…

[QT GUI Tips] Qt creator + PySide6 如何让图像控件的尺寸变化和窗口一致

前言:【这是个AI不会回答的问题】 Qt Creator 新的版本又发出了,Pyside6 有很多新功能。但是,一些传统的方法要被淘汰了。 一个经典的例子是: 我有个一个图像要显示在Form里面的图像控件上,OK, 我现在拖…

操作系统-系统调用

应用程序调用printf(),会触发系统调用write() 1、概念 操作系统服务的编程接口,通常由高级语言编写(C/C),程序访问通常是通过高层次的API接口而不是直接进行系统调用。 2、三种最常用的应用程序编程接口(API&#xf…

从零开始:网页在线制作入门指南

如果你对网页在线制作感兴趣,想学习如何从零开始创建一个网页,这个教程将带你了解基础步骤、所需工具以及如何将设计交付给开发人员的完整过程。接下来,让我们开始吧! 一、 明确目标群体与网站用途 在启动网页制作之前&#xff…

【UE】简单介绍“Extra Win Function”插件的功能

“Extra Win Function”插件包含32个C类封住成的蓝图节点供用户使用,下面简单介绍19个可能常用的节点的功能。 1. “Is Internet Available” 检查是否可接入互联网 2. “Get Device Platform” 获取设备平台名称 3. “Get Android Device RAMSize” 获取RAM 大小 …

Leetcode 486. 预测赢家

1、心路历程 这道题最开始想到的做法是回溯,因为看起来遍历就可以做,但是又想到同时需要维护两个人的数据就有点懵了。后来提示说用动态规划做是OK的。 这道题最难的地方在于,需要把输赢建模成“净胜分”,这样就能把两个主体合并…

如何在Android Studio中找到CMakeLists.txt的打印信息

根据Android Studio 中的 CMake message 输出位置在哪里? - 简书 (jianshu.com) 的描述,MESSAGE函数打印的STATUS级别的信息在android studio中是看不到的。所以采用WARNING级别打印。 下面使用android studio 2023.2.1打印信息。编译之后,点…

[实用工具]Docker安装nextcloud实现私有云服务

Nextcloud是一款开源的云存储和协作平台,允许用户在自己的服务器上存储和访问文件,同时提供强大的协作工具。它可以替代商业云存储服务,让用户拥有完全控制和自主管理自己的数据。 Nextcloud支持文件上传和下载,可以通过Web界面、…

指针 (八)例题深度解析

有关于指针的基本知识点我们都已经讲解完了,不出意外的话,这一篇就是我们指针的最后一期了,今天我们就来看一看一些有关于指针运算的例题: 每一道题诸君都应该有着自己先独立思考的能力,咱们不要怕面对,不…