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