Bla*_*mes 2 c# string performance
我从 API 返回一个长度为 45 个字符的字符串。有一个词对于一种条件是唯一的,但不会出现在另一种条件中。
我想知道使用 string.contains() 是否比将整个字符串与 string.equals() 或 string == "blah blah" 进行比较在性能方面更快。
我不知道这些方法的内部工作原理,但从逻辑上讲, contains() 似乎应该更快,因为它可以在找到匹配项后停止遍历字符串。这准确吗?顺便说一下,我要检查的单词是字符串中的第一个单词。
小智 5
我同意 D Stanley(评论)的观点。你应该使用String.StartsWith()
也就是说,我也不知道每种方法的内部工作原理,但我可以看到你的逻辑。然而,“String.Contains()”可能仍然会在处理之前加载整个字符串,在这种情况下,性能差异将非常小。
最后一点,由于字符串长度只有 45 个字符,性能差异应该非常微小。当我编写了一个垃圾方法来替换字符时,我发现它在眨眼之间就处理了约 10kb 的文本,这让我感到震惊。因此,除非您在应用程序中进行了一些疯狂的处理,否则这应该没有多大关系。