這篇文章主要講解了“.NET Framework字符串怎么進(jìn)行比較操作”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“.NET Framework字符串怎么進(jìn)行比較操作”吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了天鎮(zhèn)免費(fèi)建站歡迎大家使用!
.NET Framework作為一個(gè)開發(fā)環(huán)境給編程人員帶來(lái)了非常大的好處。平時(shí)編寫代碼的時(shí)候,.NET Framework字符串可能是大家接觸得比較多的,所使用的字符串操作也應(yīng)該得比較多的.在字符串比較方面,DOTNET2.0新增了一個(gè)枚舉StringComparison:
namespace System
{
public enum StringComparison {
CurrentCulture,
CurrentCultureIgnoreCase,
InvariantCulture,
InvariantCultureIgnoreCase,
Ordinal,
OrdinalIgnoreCase
}
}
可能大家平時(shí)在進(jìn)行.NET Framework字符串比較的時(shí)候根本沒(méi)有考慮那么多,"= =","Eaqual()"用得不亦樂(lè)乎,其實(shí)這里面的東西也挺多,性能,區(qū)域信息等
1.首先是StringComparison.Ordinal 在進(jìn)行調(diào)用String.Compare(string1,string2,StringComparison.Ordinal)的時(shí)候是進(jìn)行非語(yǔ)言(non-linguistic)上的比較,API運(yùn)行時(shí)將會(huì)對(duì)兩個(gè)字符串進(jìn)行byte級(jí)別的比較,因此這種比較是比較嚴(yán)格和準(zhǔn)確的,并且在性能上也很好,一般通過(guò)StringComparison.Ordinal來(lái)進(jìn)行比較比使用String.Compare(string1,string2)來(lái)比較要快10倍左右.(可以寫一個(gè)簡(jiǎn)單的小程序驗(yàn)證,這個(gè)挺讓我驚訝,因?yàn)槠綍r(shí)使用String.Compare從來(lái)就沒(méi)想過(guò)那么多).StringComparison.OrdinalIgnoreCase就是忽略大小寫的比較,同樣是byte級(jí)別的比較.性能稍弱于StringComparison.Ordinal.
2.StringComparison.CurrentCulture 是在當(dāng)前的區(qū)域信息下進(jìn)行比較,這是String.Compare在沒(méi)有指定StringComparison的時(shí)候默認(rèn)的比較方式.例子如下:
Thread.CurrentThread.CurrentCulture =
new CultureInfo("en-US");//當(dāng)前的區(qū)域信息是美國(guó)
string s1 = "visualstudio";
string s2 = "windows";
Console.WriteLine(String.Compare(s1,
s2,StringComparison.CurrentCulture));//輸出"-1"
Thread.CurrentThread.CurrentCulture =
new CultureInfo("sv-SE");//當(dāng)前的區(qū)域信息是瑞典
Console.WriteLine(String.Compare(s1,
s2,StringComparison.CurrentCulture));//輸出"1"StringComarison.Current
CultureIgnoreCase指在當(dāng)前區(qū)域信息下
忽略大小寫的比較.
3.StringComarison.InvariantCulture 使用StringComarison.InvariantCulture來(lái)進(jìn)行.NET Framework字符串比較,在任何系統(tǒng)中(不同的culture)比較都將得到相同的結(jié)果,他是使用CultureInfo.InvariantCulture的靜態(tài)成員CompareInfo來(lái)進(jìn)行比較操作的.例子如下:
Thread.CurrentThread.CurrentCulture =
new CultureInfo("en-US");//當(dāng)前的區(qū)域信息是美國(guó)
string s1 = "visualstudio";
string s2 = "windows";
Console.WriteLine(String.Compare(s1,
s2,StringComparison.InvariantCulture));//輸出"-1"
Thread.CurrentThread.CurrentCulture =
new CultureInfo("sv-SE");//當(dāng)前的區(qū)域信息是瑞典
Console.WriteLine(String.Compare(s1,
s2,StringComparison.InvariantCulture));//輸出"-1"
感謝各位的閱讀,以上就是“.NET Framework字符串怎么進(jìn)行比較操作”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì).NET Framework字符串怎么進(jìn)行比較操作這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
新聞名稱:.NETFramework字符串怎么進(jìn)行比較操作
鏈接地址:http://jinyejixie.com/article10/peoedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、定制開發(fā)、網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)