轉載自CSDN_FreeSon;
https://blog.csdn.net/biaobiao1217/article/details/39047963
字符串判斷:string在C#中是一個引用類型,但其又具有一定的特殊性。我們在使用string時,往往會把“變量值爲空的字符串對象”和“變量值爲空字符的字符串對象”搞混。
因爲string是我們開發過程使用最頻繁的類型之一,對於字符串爲空的判斷方法總結如下:
一般對於判斷字符串是否爲空的方法有:
string str="";
1、if(str=="")
2、if(str==String.Empty)
3、if(str.Length==0)
三種方法的效果一樣,都可以判斷字符串是否爲空,但性能上有所不同,因爲整數判斷等於最快,沒有經過實例化等複雜的過程,所以第三種方法str.Length==0是最快的,
其次是str==String.Empty,最後是str==""(第一種和第二種差不多);但是要想使用第三種方法判斷字符串是否爲空,必須保證字符串不爲null,如果爲null就會報出NullReferenceException 異常.
其實還有一種判斷字符串是否爲空的方法,也是我個人比較喜歡的一種方法, 它不但一次性能判斷"空的字符串變量",還能判斷“值爲空字符串的變量”,並且還可以讓代碼簡潔美觀。判斷的效率也不算低:
if(string.IsNullOrEmpty( str ))
經常我們會使用另一種形式:if(!strign.IsNullOrEmpty(str));
從上面的分析我們可以看到,使用Length法來進行字符串判空串是有着很大的性能優勢的,尤其在進行大量字符串判空時!當然首先得判斷字符串實例是否爲空引用!故,可以採用如下方法進行判斷:
if(str!=null&&str.Length==0)
這樣既可以避免字符串爲null時的異常,效率也高於其他方法。
原文地址:https://www.cnblogs.com/bananana/p/8665690.html