C# 为什么要使用只有一个参数的string.Format?
我在项目代码中遇到以下代码字符串:C# 为什么要使用只有一个参数的string.Format?,c#,.net,string.format,C#,.net,String.format,我在项目代码中遇到以下代码字符串: var result = string.Format(source); 变量“source”是字符串 我不明白这条线有什么用。正如我一直认为的,string.Format方法至少需要两个参数才能有一些有用的输出 ReSharper并没有强调这是一个多余的东西,所以这句话似乎有一些我目前无法理解的目的。(或者可能ReSharper没有专门处理这个案件) 为什么只使用一个参数的string.Format?可能是重载函数 public static string
var result = string.Format(source);
变量“source”是字符串
我不明白这条线有什么用。正如我一直认为的,string.Format方法至少需要两个参数才能有一些有用的输出
ReSharper并没有强调这是一个多余的东西,所以这句话似乎有一些我目前无法理解的目的。(或者可能ReSharper没有专门处理这个案件)
为什么只使用一个参数的string.Format?可能是重载函数
public static string Format(string format, params object[] args);
允许编译该代码。我无法想象
string.Format(source)
会有任何有意义的帮助 当source
包含格式序列时,该重载未在@Vladislav上列出,以引入潜在的漏洞。Bradley,重载了可变数量的参数,它们可以从0变为N。我也看到了这一点,至少在这种情况下,它是原始代码的孤儿。@maccettura据我所知,你不能添加静态扩展方法。@BradleyUffner是的,是的。它是在格式之后使用params object[]args
的一个。我最好的猜测是,这是多年来由多个开发人员进行的多次代码编辑的痕迹,他们没有完全注意到他们正在修改的内容。我尝试删除这一行,解决方案构建时没有出现问题。看来这条线真的没有用。