有人建议我避免重复调用 String.Length
,因为每次调用时都会重新计算它。我假设 String.Length
在 O(1) 时间内运行。 String.Length
比这更复杂吗?
最佳答案
这是个糟糕的建议 - String.Length
确实是 O(1)。它不像 C 中的 strlen
。
诚然,在 the docs 中它不是保证据我所知,但字符串的不变性使得 O(1) 成为不是的一件非常愚蠢的事情。 (不仅是 O(1),还有一个非常快的恒定时间。)
坦率地说,如果有人提供此类建议,我会对他们可能提供的其他建议更加怀疑......
关于c# - .NET System.String.Length 属性采用什么时间顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2836223/