【发布时间】:2016-06-02 18:13:44
【问题描述】:
我从一个长度为 45 个字符的 API 返回一个字符串。有一个词对于一个条件是唯一的,而不会出现在另一个条件中。
我想知道使用 string.contains() 是否比将整个字符串与 string.equals() 或 string == "blah blah" 进行比较在性能方面更快。
我不知道这些方法的内部工作原理,但从逻辑上讲,contains() 似乎应该更快,因为它可以在找到匹配项后停止遍历字符串。这是准确的吗?顺便说一句,我要检查的单词是字符串中的第一个单词。
【问题讨论】:
-
Contains和Equals不等价且不可互换。 -
“我要检查的单词是字符串中的第一个单词”——听起来你想要
StartsWith,对吧? -
你真的有性能问题吗?我问是因为这几乎总是过度优化。考虑到这是一个 API 调用,我什至不在乎哪个是最性能。 (但我会关心哪个在功能上是正确的)
-
你能举出你所比较的例子吗?如果您要进行子字符串匹配(
Contains所做的),这听起来甚至不像Equals或==有意义。 -
哇...不知道为什么所有的反对票,似乎是一个合法的问题。 @tnw 为什么不先问专家,如果有人已经掌握了知识,为什么不利用这个选项……这不就是 SO 的用途吗?
标签: c# string performance