c# - .NET System.String.Length 属性采用什么时间顺序?

标签 c# .net string complexity-theory big-o

有人建议我避免重复调用 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/

相关文章:

c# - 处理每种形式的异常或只是在主要

c# - Dictionary of Dictionaries的扩展方法

c# - 为什么 TaskScheduler.Current 是默认的 TaskScheduler?

c# - 如何通过 LDAP + SSL 验证 Active Directory 凭据?

javascript - 是否有允许字符串在 JS 中发生变异的解决方法?或者将复杂的 CSS 声明为 NOT 字符串?

C malloc 与字符串数组

string - 为什么 "[[ ' >' > ' 0' ]]"返回 false 而 "[ ' >'\> ' 0' ]"返回 true?

c# - 扩展 System.Convert

c# - MySQL 错误 : Column 'accountStatus' in field list is ambiguous

c# - 如何分发来自 TCP 监听器的请求