首页 » SEO优化 » phpisnullorempty技巧_C 中 IsNullOrEmpty 和 IsNullOrWhiteSpace 你用对了吗

phpisnullorempty技巧_C 中 IsNullOrEmpty 和 IsNullOrWhiteSpace 你用对了吗

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

C#中止定字段是否为空或者Null的时候,我们一样平常会利用到IsNullOrEmpty和IsNullOrWhiteSpace方法,这两个方法在大部分情形下判断的结果是同等的,但是有些情形下是不一致的。

正文

phpisnullorempty技巧_C 中 IsNullOrEmpty 和 IsNullOrWhiteSpace 你用对了吗

我们创建了一个 CreateUser方法,在系统中将创建一个新用户,如下所示:

phpisnullorempty技巧_C 中 IsNullOrEmpty 和 IsNullOrWhiteSpace 你用对了吗
(图片来自网络侵删)

void CreateUser(string username) { if (string.IsNullOrEmpty(username)) throw new ArgumentException("Username cannot be empty"); CreateUserOnDb(username); } void CreateUserOnDb(string username) { Console.WriteLine("Created"); }

看起来很安全,对吧?第一次检讨是否足够?

让我们试试:CreateUser("Loki") 打印了 Created 当利用CreateUser(null) 和 CreateUser("") 抛出了非常.利用 CreateUser(" ") 呢?不幸的是,它打印了 Created:发生这种情形是由于字符串实际上不是空的,而是由不可见的字符组成的。

转义字符也是如此!
为避免这种情形,你可以 String.IsNullOrWhiteSpace 改换 String.IsNullOrEmpty 此方法也对不可见字符实行检讨.以是我们测试如上内容

String.IsNullOrEmpty(""); //True String.IsNullOrEmpty(null); //True String.IsNullOrEmpty(" "); //False String.IsNullOrEmpty("\\n"); //False String.IsNullOrEmpty("\\t"); //False String.IsNullOrEmpty("hello"); //False

也测试此方法

String.IsNullOrWhiteSpace("");//True String.IsNullOrWhiteSpace(null);//True String.IsNullOrWhiteSpace(" ");//True String.IsNullOrWhiteSpace("\\n");//True String.IsNullOrWhiteSpace("\\t");//True String.IsNullOrWhiteSpace("hello");//False

如上所示,这两种方法的行为办法不同。
如果我们想以表格办法查当作果,可以看到如下内容:

valueIsNullOrEmptyIsNullOrWhiteSpace"Hello"falsefalse""truetruenulltruetrue" "falsetrue"\n"falsetrue"\t"falsetrue

总结

你是否必须将所有 String.IsNullOrEmpty 更换为 String.IsNullOrWhiteSpace?

是的,除非你有特定的缘故原由将表中末了的三个值视为有效字符。

转自:Davide Bellone

链接:code4it.dev/csharptips/string-isnullorempty-isnullorwhitespace

相关文章

专有协议,维护商业秘密,构建合作共赢

随着市场经济的发展,商业秘密已成为企业核心竞争力的重要组成部分。为了有效保护商业秘密,企业间往往通过签订专有协议来明确双方的权利和...

SEO优化 2024-12-27 阅读0 评论0

三方通话协议,构建高效沟通的桥梁

随着信息技术的飞速发展,通信技术也在不断进步。其中,三方通话协议作为一种新型的通信方式,已经成为人们日常沟通的重要工具。本文将从三...

SEO优化 2024-12-27 阅读0 评论0

芜湖IT培训,赋能新时代,助力人才崛起

随着互联网的飞速发展,信息技术产业已成为我国国民经济的重要支柱。近年来,芜湖市积极响应国家战略,大力发展IT产业,吸引了众多企业和...

SEO优化 2024-12-27 阅读0 评论0

英豪IT培训,赋能未来,铸就辉煌

在信息爆炸的今天,科技发展日新月异,IT行业成为了推动社会进步的重要力量。为了满足社会对IT人才的需求,英豪IT培训应运而生。作为...

SEO优化 2024-12-27 阅读0 评论0