首页
搜索 搜索
当前位置:快讯 > 正文

C#中IsNullOrEmpty和IsNullOrWhiteSpace的使用方法有什么区别?

2023-07-09 21:42:50 博客园


(资料图片)

前言

今天我们将探讨C#中两个常用的字符串处理方法:IsNullOrEmpty和IsNullOrWhiteSpace。这两个方法在处理字符串时非常常见,但是它们之间存在一些细微的区别。在本文中,我们将详细解释这两个方法的功能和使用场景,并帮助您更好地理解它们之间的区别。

IsNullOrEmpty作用

该方法用于检查字符串是否为null或空字符串("")。如果字符串为null或长度为0,返回true;否则返回false。这个方法只关注字符串的长度,不考虑其中的空白字符。

源码实现
//////判断字符串是否为null或者为空字符串//////字符串///publicstaticboolIsNullOrEmpty([NotNullWhen(false)]string?value){returnvalue==null||value.Length==0;}
示例
publicstaticvoidMain(string[]args){stringstr1=null;stringstr2="";stringstr3="";stringstr4="追逐时光者";Console.WriteLine(IsStringNullOrEmpty(str1));//输出:TrueConsole.WriteLine(IsStringNullOrEmpty(str2));//输出:TrueConsole.WriteLine(IsStringNullOrEmpty(str3));//输出:FalseConsole.WriteLine(IsStringNullOrEmpty(str4));//输出:False}publicstaticboolIsStringNullOrEmpty(stringstr){returnstring.IsNullOrEmpty(str);}
IsNullOrWhiteSpace作用

该方法用于检查字符串是否为null、空字符串("")或只包含空白字符。如果字符串为null、长度为0或只包含空白字符(例如空格、制表符、换行符),返回true;否则返回false。与IsNullOrEmpty不同,IsNullOrWhiteSpace会考虑字符串中的空白字符。

源码实现
//////字符串是否为null、空字符串或只包含空白字符[(空格、制表符、换行符等空白字符)]//////字符串///publicstaticboolIsNullOrWhiteSpace([NotNullWhen(false)]string?value){if(value==null)returntrue;for(inti=0;i
示例
publicstaticvoidMain(string[]args){stringstr1=null;stringstr2="";stringstr3="";stringstr4="追逐时光者";Console.WriteLine(IsStringNullOrWhiteSpace(str1));//输出:TrueConsole.WriteLine(IsStringNullOrWhiteSpace(str2));//输出:TrueConsole.WriteLine(IsStringNullOrWhiteSpace(str3));//输出:TrueConsole.WriteLine(IsStringNullOrWhiteSpace(str4));//输出:False}publicstaticboolIsStringNullOrWhiteSpace(stringstr){returnstring.IsNullOrWhiteSpace(str);}