您好,登錄后才能下訂單哦!
這篇文章主要講解了“.NET Framework字符串怎么進行比較操作”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“.NET Framework字符串怎么進行比較操作”吧!
.NET Framework作為一個開發環境給編程人員帶來了非常大的好處。平時編寫代碼的時候,.NET Framework字符串可能是大家接觸得比較多的,所使用的字符串操作也應該得比較多的.在字符串比較方面,DOTNET2.0新增了一個枚舉StringComparison:
namespace System
{
public enum StringComparison {
CurrentCulture,
CurrentCultureIgnoreCase,
InvariantCulture,
InvariantCultureIgnoreCase,
Ordinal,
OrdinalIgnoreCase
}
}
可能大家平時在進行.NET Framework字符串比較的時候根本沒有考慮那么多,"= =","Eaqual()"用得不亦樂乎,其實這里面的東西也挺多,性能,區域信息等
1.首先是StringComparison.Ordinal 在進行調用String.Compare(string1,string2,StringComparison.Ordinal)的時候是進行非語言(non-linguistic)上的比較,API運行時將會對兩個字符串進行byte級別的比較,因此這種比較是比較嚴格和準確的,并且在性能上也很好,一般通過StringComparison.Ordinal來進行比較比使用String.Compare(string1,string2)來比較要快10倍左右.(可以寫一個簡單的小程序驗證,這個挺讓我驚訝,因為平時使用String.Compare從來就沒想過那么多).StringComparison.OrdinalIgnoreCase就是忽略大小寫的比較,同樣是byte級別的比較.性能稍弱于StringComparison.Ordinal.
2.StringComparison.CurrentCulture 是在當前的區域信息下進行比較,這是String.Compare在沒有指定StringComparison的時候默認的比較方式.例子如下:
Thread.CurrentThread.CurrentCulture =
new CultureInfo("en-US");//當前的區域信息是美國
string s1 = "visualstudio";
string s2 = "windows";
Console.WriteLine(String.Compare(s1,
s2,StringComparison.CurrentCulture));//輸出"-1"
Thread.CurrentThread.CurrentCulture =
new CultureInfo("sv-SE");//當前的區域信息是瑞典
Console.WriteLine(String.Compare(s1,
s2,StringComparison.CurrentCulture));//輸出"1"StringComarison.Current
CultureIgnoreCase指在當前區域信息下
忽略大小寫的比較.
3.StringComarison.InvariantCulture 使用StringComarison.InvariantCulture來進行.NET Framework字符串比較,在任何系統中(不同的culture)比較都將得到相同的結果,他是使用CultureInfo.InvariantCulture的靜態成員CompareInfo來進行比較操作的.例子如下:
Thread.CurrentThread.CurrentCulture =
new CultureInfo("en-US");//當前的區域信息是美國
string s1 = "visualstudio";
string s2 = "windows";
Console.WriteLine(String.Compare(s1,
s2,StringComparison.InvariantCulture));//輸出"-1"
Thread.CurrentThread.CurrentCulture =
new CultureInfo("sv-SE");//當前的區域信息是瑞典
Console.WriteLine(String.Compare(s1,
s2,StringComparison.InvariantCulture));//輸出"-1"
感謝各位的閱讀,以上就是“.NET Framework字符串怎么進行比較操作”的內容了,經過本文的學習后,相信大家對.NET Framework字符串怎么進行比較操作這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。