什么是C#中的子串的运行时间?

时间:2013-04-17 19:37:09

标签: c# .net string substring

所以我试图解析通过RS-232串口读取的字符串,而Substring函数是罪魁祸首。是O(N)运行时间吗?有没有更快的方法将字符串切成碎片然后我可以解析?

1 个答案:

答案 0 :(得分:3)

我最后一次在没有完整报价的情况下引用了我的手腕,所以这次我会做得恰到好处:

  

程序员浪费了大量时间来考虑或担心程序中非关键部分的速度,而这些效率尝试实际上在考虑调试和维护时会产生很大的负面影响。我们应该忘记小的效率,大约97%的时间说:过早优化是所有邪恶的根源。然而,我们不应该在那个关键的3%

中放弃我们的机会

正如Matthew Watson指出的那样,我非常怀疑Substring是你需要担心的事情。

现在,这似乎是一个相当高傲的答案,但如果程序员一直在编写“必须快速”的编码;那么在我看来,他们的大脑并不专注于他们应该做的事情,而是编写解决特定问题的功能代码。

编写明显足够快的代码,然后如该引用所说 - 如果性能存在真正的问题(例如,您的发票运行需要5个小时才能获得20个pdf),那么你可能需要开始考虑占用时间的东西。