C# 忽略大小寫進(jìn)行字符串比較
使用場景
字符串比較
在EF或者其他地方使用的時候,字符串的比較非常常見。
使用全部轉(zhuǎn)化為大寫或者小寫進(jìn)行比較,有時候并不能滿足使用需求。
所以使用另外的字符串比較非常有意義。
代碼示例
class Program { static void Main(string[] args) { CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo; string a = "AaasasaAAaasaa"; string b = "aaasasaAaaasaa"; Console.WriteLine(Compare.IndexOf(a, b, CompareOptions.IgnoreCase) ); Console.ReadLine(); } }
CompareOptions補(bǔ)充
CompareOptions并不是只可以用作忽略大小寫進(jìn)行字符串比較,
還可以用來忽略符號、空格等,
可以說非常的好用。
// // 摘要: // 定義要使用的字符串比較選項(xiàng) System.Globalization.CompareInfo。 [ComVisible(true)] [Flags] public enum CompareOptions { // // 摘要: // 指示字符串比較的默認(rèn)選項(xiàng)設(shè)置。 None = 0, // // 摘要: // 指示字符串比較必須忽略大小寫。 IgnoreCase = 1, // // 摘要: // 指示字符串比較必須忽略非空格組合字符,如標(biāo)注字符。 Unicode Standard 將組合字符定義為與基的字符,以生成新的字符組合的字符。 非空格組合字符不在呈現(xiàn)時本身會占用空間位置。 IgnoreNonSpace = 2, // // 摘要: // 指示字符串比較必須忽略符號,如空白字符、 標(biāo)點(diǎn)、 貨幣符號、 百分比符號,數(shù)學(xué)符號、 的與符號,依次類推。 IgnoreSymbols = 4, // // 摘要: // 指示字符串比較必須忽略假名類型。 假名類型引用為日文平假名和片假名字符,表示在日語中的語音。 平假名用于本機(jī)日語表達(dá)式和單詞,而片假名用于從"計(jì)算機(jī)"或"Internet"等其他語言借用的詞語。 // 拼音聲音可以表示在平假名和片假名。 如果選擇此值,則一種聲音的平假名字符視為相等的同一個聲音的片假名字符。 IgnoreKanaType = 8, // // 摘要: // 指示字符串比較必須忽略字符寬度。 例如,日語的片假名字符可以編寫為全角或半角。 如果選擇此值,則片假名字符的全角形式視為相等半角形式編寫的相同字符。 IgnoreWidth = 16, // // 摘要: // 字符串比較必須忽略大小寫,然后執(zhí)行序號比較。 此方法相當(dāng)于將轉(zhuǎn)換為大寫使用固定區(qū)域性,然后對結(jié)果執(zhí)行序號比較的字符串。 OrdinalIgnoreCase = 268435456, // // 摘要: // 指示字符串比較必須使用字符串排序算法。 在字符串排序、 連字符和撇號,以及其他非字母數(shù)字的符號,排在字母數(shù)字字符之前。 StringSort = 536870912, // // 摘要: // 指示字符串比較必須使用 Unicode utf-16 編碼的連續(xù)值的字符串 (由代碼單元比較代碼單位),從而導(dǎo)致比較速度,但不區(qū)分區(qū)域性。 字符串與代碼單元 // XXXX 開始16 YYYY 開頭的字符串之前16, ,如果 XXXX16 小于 YYYY16。 此值不能與其他組合 System.Globalization.CompareOptions // 值,并必須單獨(dú)使用。 Ordinal = 1073741824 }
以上就是C# 忽略大小寫進(jìn)行字符串比較的詳細(xì)內(nèi)容,更多關(guān)于C# 字符串比較的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
c#入門之枚舉和結(jié)構(gòu)體使用詳解(控制臺接收字符串以相反的方向輸出)
這篇文章主要介紹了c#入門之枚舉和結(jié)構(gòu)體使用詳解,最后提供了編寫控制臺應(yīng)用程序接收字符串并做相應(yīng)處理的小示例,需要的朋友可以參考下2014-04-04C#啟動和停止windows服務(wù)的實(shí)例代碼
這篇文章介紹了C#啟動和停止windows服務(wù)的實(shí)例代碼,有需要的朋友可以參考一下2013-09-09解析C#多線程編程中異步多線程的實(shí)現(xiàn)及線程池的使用
這篇文章主要介紹了C#多線程編程中異步多線程的實(shí)現(xiàn)及線程池的使用,同時對多線程的一般概念及C#中的線程同步并發(fā)編程作了講解,需要的朋友可以參考下2016-03-03c# 如何使用結(jié)構(gòu)體實(shí)現(xiàn)共用體
這篇文章主要介紹了c# 如何使用結(jié)構(gòu)體實(shí)現(xiàn)共用體,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-04-04C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像
C#提供的PictureBox控鍵默認(rèn)情況下是方形的非常大的影響美觀,怎么解決這一問題呢?下面小編給大家?guī)砹薈# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像的操作代碼,感興趣的朋友一起學(xué)習(xí)下吧2021-08-08