QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

查看: 3040|回复: 0

[C#/.NET] 为什么高手都是用IsNullOrWhiteSpace对字符串判空

[复制链接]

等级头衔

积分成就    金币 : 2861
   泡泡 : 1516
   精华 : 6
   在线时间 : 1322 小时
   最后登录 : 2025-9-17

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老活跃会员

联系方式
发表于 2022-10-15 16:13:07 | 显示全部楼层 |阅读模式
判断字符串为空有好几种方法:
' p4 o& h% o: b4 {) [  v9 Z方法一: 代码如下:
; @. T7 u4 q1 ?# d3 I2 z
  static void Main(string[] args)
        {
            string str = "";

            if (str == "")
            {
                Console.WriteLine("a is  empty"); ;
            }

            Console.ReadKey();
        }
运行结果:a is empty
) H1 M* @; u: |& v0 f7 K 1.jpg 6 l* Z) H2 O4 Y" {, F" o" F
这样针对str = ""也是可以的,但是大多数场景是在方法的 入口处判空,这个字符串有可能是null,也有可能是"   ",甚至是"\n",上面这种判空方法显示不能覆盖这么多场景;/ S7 U7 [$ {" X' H. W1 |9 H
方法二 :这时候IsNullOrEmpty就横空出世了,针对字符串值为string.Empty、str2 = ""、null,都可以用
7 F* Z) Y- [' {
  static void Main(string[] args)
        {
            string str1 = string.Empty;

            if (string.IsNullOrEmpty(str1))
            {
                Console.WriteLine("str1 is  empty"); ;
            }

            string str2 = "";

            if (string.IsNullOrEmpty(str2))
            {
                Console.WriteLine("str2 is  empty"); ;
            }

            string str3 = null;

            if (string.IsNullOrEmpty(str3))
            {
                Console.WriteLine("str3 is  empty"); ;
            }

            Console.ReadKey();
        }
运行结果如下:
/ j% a8 Z6 i9 n- N9 Q8 C1 Y$ v9 I 2.jpg 8 v1 d* p, I1 ]' v8 X
方法三 :但是IsNullOrEmpty在字符串为"     ","\n","\t",时候就无能为力了,为了覆盖这些场景,高手们一般判空使用方法IsNullOrWhiteSpace6 x; M. P7 |1 r% I5 K% G! b- ]
static void Main(string[] args)
        {
            string str1 = string.Empty;

            if (string.IsNullOrWhiteSpace(str1))
            {
                Console.WriteLine("str1 is  empty"); ;
            }

            string str2 = "";

            if (string.IsNullOrWhiteSpace(str2))
            {
                Console.WriteLine("str2 is  empty"); ;
            }

            string str3 = null;

            if (string.IsNullOrWhiteSpace(str3))
            {
                Console.WriteLine("str3 is  empty"); ;
            }

            string str4 = "    ";

            if (string.IsNullOrWhiteSpace(str4))
            {
                Console.WriteLine("str4 is  empty"); ;
            }

            string str5 = "\n";

            if (string.IsNullOrWhiteSpace(str5))
            {
                Console.WriteLine("str5 is  empty"); ;
            }

            string str6 = "\t";

            if (string.IsNullOrWhiteSpace(str6))
            {
                Console.WriteLine("str6 is  empty"); ;
            }
            Console.ReadKey();
        }
运行结果:
2 _; i6 K9 O1 i 3.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2025-9-18 15:36

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表