在程式開發過程中,少不了要處理字串,並且常常要判斷字串是否為空,通常有哪些判斷方法,以及不同方法的效率又怎麼樣?
在 c# 中,通常有三種判斷字串是否為空的方法,下面分別**。
使用 str.length == 0,在三種方法中效率是最高的,但容易產生異常。當字串為空的時候就會產生異常,如
string str; 或者 string str = null;
if(str.length == 0) //產生異常
此時,就會產生物件不能為空的異常。
如果事先初始化 str,如:
string str = "a-購物、商場打折";
if(str.length == 0) //不產生異常
此時,則不會產生異常。因此,如果事先可以斷定字串在任何情況下都不為空,可以用此方法,從而提高效率;反之,不建議使用。
這兩種方法效率比 str.length == 0 稍低一點,但字元為空時不會產生異常。所以,在事先不初始化變數,或不能斷定變數在程式執行過程中一定不為空,可以使用此方法。
可能細心的你會問,str == string.empty 和 str == "",哪個效率會更高一點?記得在《c# 多個字串連線的效率》一文中具體**過,有興趣可以看一看,不過在此可以先告訴你:str == string.empty 略高一點。
null 通常用來判斷物件是否為空,所以這個方法既可以判斷字串(str)這個物件是否存在,也可以判斷字串為空(empty 或 "")。它與 str == string.empty 比較,效率高低如何呢?舉例如下:
1)字串為空時
string str = null;
if (str == string.empty)
if (string.isnullorempty(str))
2)字串不為空時
string str = "a-購物、商場打折";
if (str == string.empty)
if (string.isnullorempty(str))
通過執行比較,兩種情況,string.isnullorempty(str) 都比 str == string.empty 稍快。
當然,這種字串為空的判斷方法,在平常的程式設計過程中,效率差別是非常小,如果不是十分複雜的情況下,可以忽略。但盡量使用效率高的方法。
C 判斷字串為空的4種方法及效率
使用 str.length 0,在三種方法中效率是最高的,但容易產生異常。當字串為空的時候就會產生異常,如 string str 或者 string str null if str.length 0 產生異常 此時,就會產生物件不能為空的異常。如果事先初始化 str,如 string str a 購...
C 字串為空判斷
字串 字串為空情況有4種,如下 string str1 string str2 string str3 string.empty string str4 null 判斷方法 c 判斷字串的string類的方法有2個,定義如下 摘要 指示指定的字串是 null 還是 system.string.emp...
java判斷字串為空的5種方法及其效率
import org.apache.commons.lang.stringutils public class stringemptycompare 存下結束時間 long endtime system.currenttimemillis system.out.println 方法1用時 endti...