我正在阅读有关比较字符串的最佳实践,并看到了以下两点:
- 使用 String.Compare 和 String.CompareTo 方法对字符串进行排序,而不是检查是否相等。
- 不要使用 String.Compare 或 CompareTo 方法的重载并测试返回值零来确定两个字符串是否相等。
不幸的是,没有解释为什么不推荐它。
CompareTo()
有人能解释一下为什么用它来检查平等性是不好的吗?
我正在阅读有关比较字符串的最佳实践,并看到了以下两点:
不幸的是,没有解释为什么不推荐它。
CompareTo()
有人能解释一下为什么用它来检查平等性是不好的吗?
如果您查看文档,
CompareTo
它提供了一个比较示例,该示例返回0
两个字符串,这两个字符串应该排序相同,但实际上并不相等。如果我们稍微修改一下示例:结果:
当然,避免使用它们的另一个原因是,如果您试图测试相等性,使用它们
Equals
可以更清楚地编码您的意图。