C#忽略⼤⼩写进⾏字符串⽐较
使⽤场景
字符串⽐较
在EF或者其他地⽅使⽤的时候,字符串的⽐较⾮常常见。
使⽤全部转化为⼤写或者⼩写进⾏⽐较,有时候并不能满⾜使⽤需求。
所以使⽤另外的字符串⽐较⾮常有意义。
代码⽰例
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补充
CompareOptions并不是只可以⽤作忽略⼤⼩写进⾏字符串⽐较,
还可以⽤来忽略符号、空格等,
可以说⾮常的好⽤。
/
/
// 摘要:
// 定义要使⽤的字符串⽐较选项 System.Globalization.CompareInfo。
[ComVisible(true)]
[Flags]
public enum CompareOptions
{
//
// 摘要:
// 指⽰字符串⽐较的默认选项设置。
None = 0,
/
/
// 摘要:
// 指⽰字符串⽐较必须忽略⼤⼩写。
IgnoreCase = 1,
//
// 摘要:
// 指⽰字符串⽐较必须忽略⾮空格组合字符,如标注字符。 Unicode Standard 将组合字符定义为与基的字符,以⽣成新的字符组合的字符。⾮空格组合字符不在呈现时本⾝会占⽤空间位置。
IgnoreNonSpace = 2,
//
// 摘要:
/
/ 指⽰字符串⽐较必须忽略符号,如空⽩字符、标点、货币符号、百分⽐符号,数学符号、的与符号,依次类推。
IgnoreSymbols = 4,
//
// 摘要:
// 指⽰字符串⽐较必须忽略假名类型。假名类型引⽤为⽇⽂平假名和⽚假名字符,表⽰在⽇语中的语⾳。平假名⽤于本机⽇语表达式和单词,⽽⽚假名⽤于从"计算机"或"Internet"等其他语⾔借⽤的词语。 // 拼⾳声⾳可以表⽰在平假名和⽚假名。如果选择此值,则⼀种声⾳的平假名字符视为相等的同⼀个声⾳的⽚假名字符。
IgnoreKanaType = 8,
//
// 摘要:
/
/ 指⽰字符串⽐较必须忽略字符宽度。例如,⽇语的⽚假名字符可以编写为全⾓或半⾓。如果选择此值,则⽚假名字符的全⾓形式视为相等半⾓形式编写的相同字符。
IgnoreWidth = 16,
//
小写字符串是什么// 摘要:
// 字符串⽐较必须忽略⼤⼩写,然后执⾏序号⽐较。此⽅法相当于将转换为⼤写使⽤固定区域性,然后对结果执⾏序号⽐较的字符串。
OrdinalIgnoreCase = 268435456,
//
// 摘要:
// 指⽰字符串⽐较必须使⽤字符串排序算法。在字符串排序、连字符和撇号,以及其他⾮字母数字的符号,排在字母数字字符之前。
StringSort = 536870912,
//
// 摘要:
// 指⽰字符串⽐较必须使⽤ Unicode utf-16 编码的连续值的字符串(由代码单元⽐较代码单位),从⽽导致⽐较速度,但不区分区域性。字符串与代码单元
// XXXX 开始16 YYYY 开头的字符串之前16, ,如果 XXXX16 ⼩于 YYYY16。此值不能与其他组合 System.Globalization.CompareOptions
// 值,并必须单独使⽤。
Ordinal = 1073741824
}
以上就是C# 忽略⼤⼩写进⾏字符串⽐较的详细内容,更多关于C# 字符串⽐较的资料请关注其它相关⽂章!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论