gpt4 book ai didi

c#比较字符串的最快方法

转载 作者:IT王子 更新时间:2023-10-29 04:41:08 24 4
gpt4 key购买 nike

我注意到了

string1.Length == string2.Length && string1 == string2

在大字符串上比仅仅快一些

string1 == string2

这是真的吗?这是在比较实际字符串之前比较大字符串长度的好做法吗?

最佳答案

strings operator equals 在比较字符之前进行长度检查。所以你不要用这个技巧保存内容的比较。您可能仍然可以节省几个 CPU 周期,因为您的长度检查假设字符串不为空,而 BCL 必须检查它。因此,如果大部分时间长度不相等,您将短路一些指令。

虽然我在这里可能是错的。也许运算符(operator)被内联并且检查被优化了。谁能确定? (测量者。)

如果您关心节省每个周期,您可能应该首先使用不同的策略。也许托管代码甚至不是正确的选择。鉴于此,我建议使用较短的形式而不使用额外的检查。

关于c#比较字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com