【发布时间】:2019-05-31 13:25:35
【问题描述】:
我目前正在更新一些工作中的旧代码。我遇到了许多似乎没有理由使用 string.Format() 的行。我想知道在没有附加参数的情况下使用 string.Format() 是否有一些用处,但我想不出。
这有什么区别:
string query = String.Format(@"select type_cd, type_shpmt from codes");
还有这个:
string query = "select type_cd, type_shpmt from codes";
我也不认为@ 是必需的,因为它不需要是字符串文字,也不是多行字符串。
【问题讨论】:
-
简答:否
-
没有。有人在编写代码后没有校对。
-
它在哪里使用是有原因的。那是什么原因?原作者是否将参数值连接到sql语句?示例:
string.Format("Select something from table where column = {0}", value1);?如果是这样,这就是您要集中精力的地方,因为这会暴露代码中的 sql 注入漏洞。 -
就我个人而言,我确实
@-verbatimize 我的字符串文字以向我自己表明一个字符串 not 需要翻译(因此不需要放入RESX 文件)。我的@和非@字符串有不同的颜色。