目前我保持一个古怪的代码库,并且遇到了以下相同的模式超过100次:
string NotMySqlQuery = ""; //why initialize the string with "", only to overwrite it on the next line?
NotMySqlQuery = "The query to be executed";
由于我经常遇到这种情况,我现在怀疑自己的判断力。
这是优化编译器的技巧还是带来其他任何优势?
它让我想起了我在C ++中编写一些代码时的旧时代,但它仍然不适合我处理字符串。
为什么会有人写这样的代码?
答案 0 :(得分:3)
该语法没有性能优势。它甚至比没有初始化更糟糕,因为字符串在c#中是不可变的,这样就分配了2个单独的字符串。
答案 1 :(得分:1)
对于你的简单情况,最好将2行保存为一行,没有必要为它分配一个空字符串,并立即为其指定另一个值。
string NotMySqlQuery = "The query to be executed";
这更清楚。