我想要比较两个字符串,但不区分大小写,但我不确定最好的方法是什么。这些字符串的平均长度为20,这个问题更多地涉及现有技术,而不是最佳性能。
我的大部分代码使用
我认为这种方式有点老式了。另一种我看过很多次的方法是:
我猜这是可能的,但正则表达式并不适用于这样简单的事情。
之后还剩下3种“好”的方法:
我的大部分代码使用
bool output = "foo".ToLower() == "FOO".ToLower();
我认为这种方式有点老式了。另一种我看过很多次的方法是:
bool output = Regex.IsMatch("foo", "FOO", RegexOptions.IgnoreCase);
我猜这是可能的,但正则表达式并不适用于这样简单的事情。
之后还剩下3种“好”的方法:
bool output = string.Compare("foo", "FOO", StringComparison.CurrentCultureIgnoreCase) == 0;
bool output = string.Compare("foo", "FOO", true) == 0;
bool output = "foo".Equals("FOO", StringComparison.CurrentCultureIgnoreCase);
string.Equals("x", "y", StringComparison.OrdinalIgnoreCase)
。 - Gilad Green