我首先学习了Java,其中一个绝对是你永远不会使用==来比较两个字符串是否相等,而是使用equals方法.因此,当我多年前登陆C#并注意到对象仍然使用Equals方法时,我认为规则仍然适用.
现在我正在通过一个前同事的代码,我发现这样的片段到处都是:
if (s.Substring(0, s.IndexOf("_")) == "GBCI") {...}
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,==将比较这两个结果之间的地址,并且由于函数返回了前半部分,这将失败,因为结果与右边的常量不同.
我是否坚持旧的Java习惯?或者我的同事不在身边是一件好事吗?
PS无论你对比较字符串的答案如何,我都会意识到上面会更好地说明s.BeginsWith("GBCI"),但这完全是另一回事.
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |