如何判斷字串是否為空串? C

2021-04-07 06:29:46 字數 1737 閱讀 8311

0. 緣起:

本文寫作緣起於阮的討論——《fxcop告訴我,檢查乙個字串是否為空要用string.length。》

。其實用過fxcop的人都知道它會建議你使用string.length屬性來判斷字串是否為空串,但你又是否明白其中的緣由呢?今天有點閒,特意寫下這篇文章,希望有點幫助。

1. 三種常用的字串判空串方法:

2. 深入內部機制:

這裡我採用reflector法,我們先來看看一下源**[2](片段):

3. 最後總結:

從上面的分析我們可以看到,使用length法來進行字串判空串是有著很大的效能優勢的,尤其在進行大量字串判空時!當然首先得判斷字串例項是否為空引用!

有關reflector的介紹可以參見《reflector: get the secret inside .net assemblies.》

一文。本**反編譯自版本號為2.0.3600.0的.net framework。

void

foo(

string

bar)

class

string }//

.}

public

static

bool

operator==(

string

a, string

b);public

static

bool

equals(

string

a, string

b);private

static

unsafe

bool

equalshelper(

string

ao, 

string

bo);

public

extern

bool

equals(string value);

public

sealed

class

string : icomparable, icloneable, iconvertible, ienumerable, icomparable

<

string

>

//code here

public

static

readonly

string

empty;

public

static

bool

operator==(

string

a, string

b)public

static

bool

equals(

string

a, string

b)if

((a 

!=null

) &&

(b !=

null

))return

false;}

private

static

unsafe

bool

equalshelper(

string

ao, 

string

bo)//

code here

}private

extern

intinternallength();

public

intlength}//

code here}

C 基礎 判斷字串是否為空 判斷字元是否為數字

一 判斷字串是否為空 string.empty和string 是一樣的,同樣都是需要占用記憶體空間 空字串 但優先推薦使用string.empty console.writeline equals string.empty 結果 true 還一種高效判斷方法 s.length 0 來判斷字串是否為空...

C 判斷字串是否為空

c 中問號可以判斷字元 引用 事件等是否為空,比如 action?invoke 判斷action是否為空,不為空則呼叫,這樣就避免了用if語句進行是否為空的判斷。開發中會遇到解析json的情況 jsondata.code jslist code jsondata.version jslist ver...

c 判斷字串是否為整數

判斷乙個字串是否是正整數 public static bool isinteger string s 判斷乙個字串是否為合法數字 0 32整數 字串 public static bool isnumber string s 判斷乙個字串是否為合法數字 指定整數字數和小數字數 字串 整數字數 小數字數...