連個判空都不會,還好意思說工作好多年

由于原來一直都沒注意到這兩個方法,一直使用string.IsNullOrEmpty,當(dāng)看到string.IsNullOrWhiteSpace時,而且在微軟人員開發(fā)的項目中經(jīng)常使用時才注意到,查了一下MSDN,記一下免得以后忘記。
string.IsNullOrEmpty
都知道,這個功能是判斷字符串是否為:null或者string.Empty。如果是如"\t"這樣的字符就返回false了,為了達(dá)到判斷過濾這些功能,就要使用Trim()和Length屬性幫忙,判斷是否長度為零,于是乎就產(chǎn)生了如下的方法。
string.IsNullOrWhiteSpace
這個是判斷所有空白字符,功能相當(dāng)于string.IsNullOrEmpty和str.Trim().Length總和,他將字符串給Char.IsWhiteSpace為ture的任何字符都將是正確的。根據(jù)MSDN的說明,這個方法會比調(diào)用上述兩個方法的性能更高而且簡潔,所以在判斷這個功能時,推薦使用。
using System;public class Example{public static void Main(){string[] values = { null, String.Empty, "ABCDE",new String(' ', 20), " \t ",new String('\u2000', 10) };foreach (string value in values)Console.WriteLine(String.IsNullOrWhiteSpace(value));}}// The example displays the following output:// True// True// False// True// True// True
以上就是代碼執(zhí)行效果,至于性能就聽微軟的吧,不過string.IsNullOrEmpty和string.IsNullOrWhiteSpace相比,肯定是前面一個性能更高,所以還是要選擇性使用的。
【推薦】.NET Core開發(fā)實戰(zhàn)視頻課程 ★★★
.NET Core實戰(zhàn)項目之CMS 第一章 入門篇-開篇及總體規(guī)劃
【.NET Core微服務(wù)實戰(zhàn)-統(tǒng)一身份認(rèn)證】開篇及目錄索引
Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)
.NET Core中的一個接口多種實現(xiàn)的依賴注入與動態(tài)選擇看這篇就夠了
用abp vNext快速開發(fā)Quartz.NET定時任務(wù)管理界面
在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實現(xiàn)作業(yè)調(diào)度
現(xiàn)身說法:實際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化
