如果"abcDEf"
与"abcdef"
不同,如何注意?
在C#winforms中?
提前谢谢
答案 0 :(得分:2)
bool aredifferent = "abcDEf" != "abcdef";
//OR
string str1 = "abcDEf", str2 = "abcdef";
bool aredifferent2 = str1 != str2;
.NET字符串相等运算符区分大小写,因此如果字符串不同,只需使用它就会返回false。
但是,如果您要确定两个字符串是否相同,但只是大小写不同,那么您可以使用以下内容:
bool differInCase = string.Compare(str1, str2, /*ignoreCase=*/true) == 0 &&
string.Compare(str1, str2, /*ignoreCase=*/false) != 0;;
答案 1 :(得分:1)
因为你在Winforms中,我假设你正在使用System ^ String。他们带着一个“平等”成员来照顾这种情况。
http://msdn.microsoft.com/en-us/library/1hkt4325.aspx
System::String::Equals( str1, str2 )
这将返回一个System :: Boolean,它是true / false。
编辑抱歉,我已经在C ++中使用Winforms进行了太长时间......这是C#
System.String.Equals(a, b)
仍返回系统布尔值,该值为true / false。
修改编辑
如果您正在寻找当前文化不区分大小写的同等检查:
System.String.Equals(a,b,System.StringComparison.CurrentCultureIgnoreCase)
在此MSDN页面上查看StringComparison枚举的所有信息:
http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx
答案 2 :(得分:0)
你在找这样的东西吗?
function IsLowerCase(String input)
{
return input.Equals( input.ToLower() );
}
如果输入字符串是混合或大写,则此函数将返回false。如果输入字符串是小写的,那么它将返回true。