【问题标题】:Why would one want to use string.Format with only one parameter?为什么要使用 string.Format 只有一个参数?
【发布时间】: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


【解决方案1】:

可能是函数重载

public static string Format(string format, params object[] args);

允许编译该代码。我无法想象string.Format(source) 会以任何有意义的方式提供帮助。

【讨论】:

  • 我试图删除这一行并且解决方案构建没有问题。看来这条线确实没有目的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
相关资源
最近更新 更多