C 判斷字元為空的6種方法的效率實測對比

2022-09-26 06:27:10 字數 2338 閱讀 4509

c#中提供了相當豐富的方法或屬性來判斷乙個字元是否為空,常用的方法有以下6種

1. strtest== ""

2. strtest.equals("")

3. strtest== string.empty

4. strtest.equals(string.empty)

5. strtest.length == 0

6. string.isnullorempty(strtest)

為了對以上6種方法的效率,有個直觀的感受,我特意編寫了以下的測試**:

using system;

namespace strtest

}end = datetime.now;

ts = end - start;

console.writeline("string == /"/" 時間消耗為 " + ts.totalseconds + " 秒");

"")start = datetime.now;

for (int counter = 0; counter <= 100000000; counter++)

}end = datetime.now;

ts = end - start;

console.writeline(程式設計客棧"string.equals(/"/") 時間消耗為 " + ts.totalseconds + " 秒");

//string == stirng.empty

start = datetime.now;

for (int counter = 0; counter <= 100000000; counter++)

}end = datetime.now;

ts = end - start;

cons"string == string.empty 時間消耗為 " + ts.totalseconds + " 秒");

string.empty)

start = datetime.now;

for (int counter = 0; counter <= 100000000; counter++)

}end = datetime.now;

ts = end - stahtxnajmlqbrt;

console.writeline("string.equals(string.empty) 時間消耗為 " + ts.totalseconds + " 秒");

== 0

start = datetime.now;

for (int counter = 0; counter <= 100000000; counter++)

}end = datetime.now;

ts = end - start;

console.writeline("string.length == 0 時間消耗為 " + ts.totalseconds + " 秒");

start = datetime.now;

for (int counter = 0; counter <= 100000000; counter++)

}end = datetime.now;

ts = end - start;

console.writeline("string.isnullorempty(string) 時間消耗為 " + ts.totalseconds + " 秒" + "/n");

}static void main(string args)

}}我把能關的軟體都關閉掉了  盡可能的遮蔽掉系統影響  並且讓6種方法都執行了1億次

第一次的截圖:

第二次的截圖: 

從以上可以看出:字串在三種情況下,string.length == 0的效率無疑是最高的。

總結1. strtest== "" 不推薦使用,只能判斷「值為空字串」的字串變數,而且效率比較低。

2. strtest.equals("") 不推薦使用,同 1。

3. strtest== string.empty 不推薦使用,只能判斷「值為null」的字串變數,而且效率低。

4. strtest.equals(string.empty) 不推薦使用,同 3。

5. strtest.length == 0  這種方式,我不怎麼喜歡用,不推薦使用。在自己的實際測試中,確實能證明這種判斷方式的執行效率最高,但要使用它你必須保證字串不null,如果為null就會報出異常。

6. string.isnullorempty(strtest)  這種方法是我最喜歡用的,它不但一次效能判斷"空的字串變數",還能判斷「值為空字串的變數」,並且還可以讓**簡潔美觀。判斷的效率也不算低。

本文標題: c# 判斷字元為空的6種方法的效率實測對比

本文位址:

C 判斷字元為空的6種方法和效率

c 中提供了相當豐富的方法或屬性來判斷乙個字元是否為空,常用的方法有以下6種 1.strtest 2.strtest.equals 3.strtest stirng.empty 4.strtest.equals string.empty 5.strtest.length 0 6.string.isn...

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

使用 str.length 0,在三種方法中效率是最高的,但容易產生異常。當字串為空的時候就會產生異常,如 string str 或者 string str null if str.length 0 產生異常 此時,就會產生物件不能為空的異常。如果事先初始化 str,如 string str a 購...

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

在程式開發過程中,少不了要處理字串,並且常常要判斷字串是否為空,通常有哪些判斷方法,以及不同方法的效率又怎麼樣?在 c 中,通常有三種判斷字串是否為空的方法,下面分別 使用 str.length 0,在三種方法中效率是最高的,但容易產生異常。當字串為空的時候就會產生異常,如 string str 或...