可能是重复问题:
C#中是否有不区分大小写的等于运算符?
string string1 = "aBc"
string string2 = "AbC"
如何检查string1是否等于string2并使其返回true,而不考虑大小写敏感性。
可能是重复问题:
C#中是否有不区分大小写的等于运算符?
string string1 = "aBc"
string string2 = "AbC"
如何检查string1是否等于string2并使其返回true,而不考虑大小写敏感性。
有两种方法:
您可以使用 .ToLower()
并进行字符串相等性比较,或者您可以使用此方法:
string.Equals(string1, string2, StringComparison.CurrentCultureIgnoreCase)
编辑:为了平息那些给我踩的人,如果你的数据具有文化意义(例如比较斯堪的纳维亚语单词且当前区域设置正确),那么这个操作是有用的。如果这个数据与文化无关,并且你不关心区域设置(不好的想法,特别是因为.NET 适用于 Unicode),那么你可以这样做:
string.Equals(string1, string2, StringComparison.OrdinalIgnoreCase)
您还可以使用string.Compare方法,并添加第三个参数ignoreCase
,以进行比较时忽略大小写:
if (string.Compare(string1, string2, true) == 0)
{
// string are equal
}
您还可以使用CompareInfo类:
if (CultureInfo.CurrentCulture.CompareInfo.Compare(string1, string2,
CompareOptions.IgnoreCase) == 0)
{
// string are equal
}
string.Equals(string1, string2, StringComparison.CurrentCultureIgnoreCase);
:D
string.Equals("aBc", "AbC", StringComparison.CurrentCultureIgnoreCase)