我正在编写一个输入为两个字符串的方法,该方法应返回三个值之一:+1
当字符串具有完全相同的值(其字符的 Unicode 值)时,0
当字符串具有完全相同的值时,除了基本拉丁语( ASCII) 字符的大小写不同,-1
否则。我有:
public static int MyCompare(string s1, string s2)
{
return string.Equals(s1, s2, StringComparison.OrdinalIgnoreCase)
? (string.Equals(s1, s2, StringComparison.Ordinal) ? 1 : 0)
: -1;
}
该方法将用于相对较短的字符串(通常 < 25 个字符),但我想知道是否有比执行两次string.Equals
调用更好的方法来实现这一点。