C# 忽略大小写进行字符串比较
使用场景
字符串比较
在EF或者其他地方使用的时候,字符串的比较非常常见。
使用全部转化为大写或者小写进行比较,有时候并不能满足使用需求。
所以使用另外的字符串比较非常有意义。
代码示例
classProgram { staticvoidMain(string[]args) { CompareInfoCompare=CultureInfo.InvariantCulture.CompareInfo; stringa="AaasasaAAaasaa"; stringb="aaasasaAaaasaa"; Console.WriteLine(Compare.IndexOf(a,b,CompareOptions.IgnoreCase)); Console.ReadLine(); } }
CompareOptions补充
CompareOptions并不是只可以用作忽略大小写进行字符串比较,
还可以用来忽略符号、空格等,
可以说非常的好用。
// //摘要: //定义要使用的字符串比较选项System.Globalization.CompareInfo。 [ComVisible(true)] [Flags] publicenumCompareOptions { // //摘要: //指示字符串比较的默认选项设置。 None=0, // //摘要: //指示字符串比较必须忽略大小写。 IgnoreCase=1, // //摘要: //指示字符串比较必须忽略非空格组合字符,如标注字符。UnicodeStandard将组合字符定义为与基的字符,以生成新的字符组合的字符。非空格组合字符不在呈现时本身会占用空间位置。 IgnoreNonSpace=2, // //摘要: //指示字符串比较必须忽略符号,如空白字符、标点、货币符号、百分比符号,数学符号、的与符号,依次类推。 IgnoreSymbols=4, // //摘要: //指示字符串比较必须忽略假名类型。假名类型引用为日文平假名和片假名字符,表示在日语中的语音。平假名用于本机日语表达式和单词,而片假名用于从"计算机"或"Internet"等其他语言借用的词语。 //拼音声音可以表示在平假名和片假名。如果选择此值,则一种声音的平假名字符视为相等的同一个声音的片假名字符。 IgnoreKanaType=8, // //摘要: //指示字符串比较必须忽略字符宽度。例如,日语的片假名字符可以编写为全角或半角。如果选择此值,则片假名字符的全角形式视为相等半角形式编写的相同字符。 IgnoreWidth=16, // //摘要: //字符串比较必须忽略大小写,然后执行序号比较。此方法相当于将转换为大写使用固定区域性,然后对结果执行序号比较的字符串。 OrdinalIgnoreCase=268435456, // //摘要: //指示字符串比较必须使用字符串排序算法。在字符串排序、连字符和撇号,以及其他非字母数字的符号,排在字母数字字符之前。 StringSort=536870912, // //摘要: //指示字符串比较必须使用Unicodeutf-16编码的连续值的字符串(由代码单元比较代码单位),从而导致比较速度,但不区分区域性。字符串与代码单元 //XXXX开始16YYYY开头的字符串之前16,,如果XXXX16小于YYYY16。此值不能与其他组合System.Globalization.CompareOptions //值,并必须单独使用。 Ordinal=1073741824 }
以上就是C#忽略大小写进行字符串比较的详细内容,更多关于C#字符串比较的资料请关注毛票票其它相关文章!