求求你不要在用!=null判空了

由于原來(lái)一直都沒(méi)注意到這兩個(gè)方法,一直使用string.IsNullOrEmpty,當(dāng)看到string.IsNullOrWhiteSpace時(shí),而且在微軟人員開(kāi)發(fā)的項(xiàng)目中經(jīng)常使用時(shí)才注意到,查了一下MSDN,記一下免得以后忘記。
string.IsNullOrEmpty
都知道,這個(gè)功能是判斷字符串是否為:null或者string.Empty。如果是如"\t"這樣的字符就返回false了,為了達(dá)到判斷過(guò)濾這些功能,就要使用Trim()和Length屬性幫忙,判斷是否長(zhǎng)度為零,于是乎就產(chǎn)生了如下的方法。
string.IsNullOrWhiteSpace
這個(gè)是判斷所有空白字符,功能相當(dāng)于string.IsNullOrEmpty和str.Trim().Length總和,他將字符串給Char.IsWhiteSpace為ture的任何字符都將是正確的。根據(jù)MSDN的說(shuō)明,這個(gè)方法會(huì)比調(diào)用上述兩個(gè)方法的性能更高而且簡(jiǎn)潔,所以在判斷這個(gè)功能時(shí),推薦使用。

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í)行效果,至于性能就聽(tīng)微軟的吧,不過(guò)string.IsNullOrEmpty和string.IsNullOrWhiteSpace相比,肯定是前面一個(gè)性能更高,所以還是要選擇性使用的。
【推薦】.NET Core開(kāi)發(fā)實(shí)戰(zhàn)視頻課程?★★★
.NET Core實(shí)戰(zhàn)項(xiàng)目之CMS 第一章 入門(mén)篇-開(kāi)篇及總體規(guī)劃
【.NET Core微服務(wù)實(shí)戰(zhàn)-統(tǒng)一身份認(rèn)證】開(kāi)篇及目錄索引
Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)
.NET Core中的一個(gè)接口多種實(shí)現(xiàn)的依賴注入與動(dòng)態(tài)選擇看這篇就夠了
10個(gè)小技巧助您寫(xiě)出高性能的ASP.NET Core代碼
用abp vNext快速開(kāi)發(fā)Quartz.NET定時(shí)任務(wù)管理界面
在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實(shí)現(xiàn)作業(yè)調(diào)度
現(xiàn)身說(shuō)法:實(shí)際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化
