通过看似不必要的字符串初始化来提高性能

本文关键字:初始化 高性能 字符串 不必要 | 更新日期: 2023-09-27 18:17:45

目前我维护一个古怪的代码库,并且遇到了以下相同的模式超过100次:

string NotMySqlQuery = ""; //why initialize the string with "", only to overwrite it on the next line?
NotMySqlQuery = "The query to be executed";

由于我经常遇到这种情况,我现在怀疑自己的判断力。

这是一个优化编译器的技巧还是它带来了任何其他优势?

这让我想起了以前我用c++写代码的时候,但对我来说,它仍然不像是正确处理字符串的方法。

为什么有人会写这样的代码?

通过看似不必要的字符串初始化来提高性能

这种语法没有性能优势。这甚至比根本不初始化它还要糟糕,因为字符串在c#中是不可变的,这样就分配了两个单独的字符串。

对于您的简单情况,最好将两行保存为一行,没有必要为其分配空字符串,并立即为其分配另一个值。

string NotMySqlQuery = "The query to be executed";