如今,优化似乎是一门失传的艺术。难道没有时间所有程序员都从他们的代码中压缩每一盎司的效率吗?在雪地里走五英里时经常这样做吗?
本着使人流连忘返的精神,您了解一些简单(或复杂)更改以优化C#/。NET代码的技巧吗?由于涉及的范围如此广泛,这取决于要完成的任务,因此有助于提供提示的上下文。例如:
- 当将许多字符串连接在一起时,请
StringBuilder
改用。请参阅底部的链接以获取有关此方面的警告。 - 使用
string.Compare
两个字符串比较,而不是做这样的事情string1.ToLower() == string2.ToLower()
到目前为止,似乎普遍存在的共识是关键。这种错误的意思是:测量并不能告诉您问题出在哪里,如果遇到瓶颈,该怎么办。我曾经遇到过字符串连接瓶颈,却不知道该怎么做,因此这些技巧很有用。
我发布此文章的目的是为常见的瓶颈留出一席之地,以及在遇到瓶颈之前如何避免它们。甚至没有人必须盲目遵循的即插即用代码,而是更多地了解应该至少在某种程度上考虑性能,并且要注意一些常见的陷阱。
我可以看到,虽然也可能知道技巧为什么有用以及应该在哪里应用,这可能会很有用。作为StringBuilder
提示,我在Jon Skeet的站点上找到了我很早以前所做的帮助。