1

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

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

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

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

它让我想起了我用 C++ 编写一些代码的旧时光,但对我来说,它仍然看起来不像正确处理字符串。

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

4

2 回答 2

3

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

于 2013-06-11T03:50:30.210 回答
1

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

string NotMySqlQuery = "The query to be executed";

这更清楚。

于 2013-06-11T04:05:29.033 回答