1. 程式人生 > >Unity_C#判斷字符串為空的幾種用法

Unity_C#判斷字符串為空的幾種用法

tps rem ref har http string 使用 比較 itl

轉載自CSDN_FreeSon;

https://blog.csdn.net/biaobiao1217/article/details/39047963

字符串判斷:string在C#中是一個引用類型,但其又具有一定的特殊性。我們在使用string時,往往會把“變量值為空的字符串對象”和“變量值為空字符的字符串對象”搞混。

因為string是我們開發過程使用最頻繁的類型之一,對於字符串為空的判斷方法總結如下:

一般對於判斷字符串是否為空的方法有:

string str="";  
1if(str=="")  
2if(str==String.Empty)  
3if(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時的異常,效率也高於其他方法。

Unity_C#判斷字符串為空的幾種用法