C 判斷字串為空的4種方法及效率

2022-08-03 21:33:11 字數 1246 閱讀 7085

在程式開發過程中,少不了要處理字串,並且常常要判斷字串是否為空,通常有哪些判斷方法,以及不同方法的效率又怎麼樣?

在 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...