有什么理由为什么.net中的函数String.Format(至少对于C#和VB.net)共享而不是像.split,.substring或者普通函数那样.
会有什么不好的
Dim a as String = "1+2={0}".format(1+2) (会很好)
与
Dim a as String = String.Format("1+2={0}",1+2) (它的工作方式)
使用这个功能时总是让我感到烦恼 - 我经常这样做.
谢谢.
也许Eric Lippert仍然有设计说明,但除此之外我不认为这可以准确回答.
不过,作为一种解决方法,如果您迫切需要这个,那么您可以编写一个扩展方法:
public static string Format(this string fmt, params object[] args) {
return string.Format(fmt, args);
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是大多数字符串方法实际上对字符串进行操作,以简单和可预见的方式对其进行转换,例如Substring,Replace和PadLeft.随着Format核心字符串仅仅是被应用到操作数集成到一个模式.从概念上大多数实例方法string可以被看作是操纵string(我知道,这是不是发生什么事,我只是画一幅画在这里),而静态方法只是使用它.
如上所述,只是一个猜测.最后,它可能只是一个决定,原因是及时丢失.
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |