我习惯这样做:
if (string1.ToLower()==string2.ToLower) ...
但还有其他更简化的方法吗?
答案 0 :(得分:4)
如果您要使用案例感知比较来检查“Equality”,请使用String.Equals
overload,其中使用参数来指定区分大小写的比较。像:
if (String.Equals("test 1", "Test 1", StringComparison.InvariantCultureIgnoreCase))
或
if (String.Equals("test 1", "Test 1", StringComparison.OrdinalIgnoreCase))
如果您尝试比较字符串以进行排序,那么 String.Compare
会很有用。
在转换为大写/小写之前,请参阅:The Turkish İ Problem and Why You Should Care
答案 1 :(得分:4)
您可以使用Equals
功能
if (string1.Equals(string2, StringComparison.OrdinalIgnoreCase)) ...
答案 2 :(得分:3)
使用String.Compare方法,它更加优雅。 这是关于方法的文章和非常好的例子:http://msdn.microsoft.com/ru-ru/library/cc190529(v=vs.110).aspx
答案 3 :(得分:3)
尝试使用string.Compare
string.Compare("test 1", "Test 1", true)
答案 4 :(得分:2)
您可以使用string.Compare()方法重载,它允许您忽略大小写,例如:
string.Compare(string1, string2, true);
答案 5 :(得分:1)
String.Compare nocase将解决您的问题。
string s1 = "Animal";
string s2 = "animal";
string.Compare(s1,s2,true)
将返回零 http://msdn.microsoft.com/en-us/library/zkcaxw5y(v=vs.110).aspx