三種常用的字符串判空串方法
2011/1/19 16:29:11
Length法:bool isEmpty = (str.Length == 0);
Empty法:bool isEmpty = (str == String.Empty);
General法:bool isEmpty = (str == "");
首先是Empty法,由于String.Empty是一個靜態只讀域,只會被創建一次。但當我們使用Empty法進行判空時,.NET還會依次展開調用以下的方法,而后兩個方法內部還會進行對象引用判等!
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);
若使用General法判等的話,情況就“更勝一籌”了!因為.NET除了要依次展開調用上面三個方法之外,還得首先創建一個臨時的空字符串實例,如果你要進行大量的比較,這恐怕是想一想就很嚇人了!
而對于Length法,我們就可以繞過上面這些繁瑣的步驟,直接進行整數(字符串長度)判等,我們知道,大多數情況下,整數判等都要來得快(我實在想不出比它更快的了,在32位系統上,System.Int32運算最快了)!
另外,我們還可以看到,在EqualsHelper方法里面.NET會先使用Length法來進行判等!可惜的是我無法獲得InternalLength方法的代碼。但我在Mono的源代碼里面看到更簡明的實現:
class String
...{
private int length;
public int Length
...{
get
...{
return length;
}
}
// .
}
然而使用Length法進行字符串判空串時,有一點要注意的,就是你必須先判斷該字符串實例是否為空引用,否則將會拋出NullReferenceException異常!于是,我們有了一個經過改進的Length法:
void Foo(string bar)
...{
if ((bar != null) && (bar.Length == 0))
//
}
返回列表
返回首頁
主站蜘蛛池模板:
亚洲日韩aⅴ在线视频|
欧美丰满大乳高跟鞋|
国产做无码视频在线观看浪潮
|
天天在线天天综合网色|
久久久久久一品道精品免费看|
美女性生活电影|
国产成人免费高清在线观看|
3p视频在线观看|
天天操夜夜操免费视频|
中文人妻熟妇乱又伦精品|
毛片视频网站在线观看|
国产在线|日韩|
WWW免费视频在线观看播放
|
全彩熟睡侵犯h|
色综合a怡红院怡红院首页|
国产成人精品日本亚洲专区61|
5╳社区视频在线5sq|
日本一品道门免费高清视频|
人妻蜜と1~4中文字幕月野定规|
欧美成人18性|
国产自产视频在线观看香蕉|
丰满多毛的大隂户毛茸茸|
日韩电影免费在线观看网站
|
在线www天堂资源网|
久久精品国产一区|
男女同房猛烈无遮挡动态图
|
tube人妖多泄精妖精|
最近免费中文字幕mv在线电影|
午夜福利视频合集1000|
538国产视频|
夜夜添狠狠添高潮出水|
久久久国产99久久国产一|
日韩高清第一页|
亚洲高清免费在线观看|
粗大的内捧猛烈进出在线视频
|
天天躁日日躁狠狠躁综合|
乱人伦xxxx国语对白|
白嫩少妇喷水正在播放|
无码国产福利av私拍|
免费黄色网址网站|
美国十次啦大导航|