【发布时间】:2017-11-24 19:28:26
【问题描述】:
我在一个项目的代码中遇到如下代码串:
var result = string.Format(source);
变量'source'是一个字符串
我不明白这条线有什么用处。正如我一直认为的那样,我们至少需要两个 string.Format 方法的参数才能有一些有用的输出。
ReSharper 并没有强调这是多余的东西,所以看起来这条线可能有一些我目前无法理解的目的。 (或者也许 ReSharper 只是没有专门处理这种情况)
为什么要使用 string.Format 只有一个参数?
【问题讨论】:
-
MSDN 上未列出该重载。
-
@Vladislav 引入了一个潜在的错误,当
source包含格式序列时被利用。 Bradley,具有可变数量的参数的重载,它们可以从 0 变为 N。我也看到了这一点,至少在那种情况下,它是原始代码的孤儿。 -
@maccettura 据我所知,您无法添加静态扩展方法。
-
@BradleyUffner 是的。格式后是
params object[] args。 -
我最好的猜测是,这是多个开发人员多年来多次编辑代码的痕迹,他们并没有完全注意他们正在修改的内容。
标签: c# .net string.format