String.Format和string.Format(以及原始数据类型的其他静态成员)之间有什么区别?

Mat*_*hew 23 c# primitive static

据我所知,一个类的任何静态成员像StringInt32也可以从相关的基本数据类型访问.所以,String.Format是一样的string.Format,Int32.MaxValue也是一样的int.MaxValue.

这两种形式有区别吗?对另一个人更喜欢吗?即使它们相同,人们通常认为它们更具可读性吗?

编辑:因为它们是相同的,从人的角度来看是首选吗?你想看String.Formatstring.Format读别人的代码吗?

Nic*_*ver 41

没有区别,这些是C#for .Net框架类型的类型别名,你在下面调用相同的方法.

例如:

  • int 是别名 System.Int32
  • string 是别名 System.String

您可以在MSDN上找到这些别名的完整列表.


Ant*_*ram 11

那些与原始数据类型无关.它们只是C#中的缩写.string别名System.Stringint别名System.Int32.来电来int.MaxValue 要调用Int32.MaxValue.C#只允许您以类似于您在其他类似C语言中键入的内容进行类型化输入.


Kei*_*thS 8

大多数答案都是一般性的.但是,在某些情况下需要别名.脱离我的头顶:

public enum MyEnum:Byte {...} //will not compile

public enum MyEnum:byte {...} //correct
Run Code Online (Sandbox Code Playgroud)

还有其他几个地方你必须使用别名; 除此之外,它主要是风格.通常接受以下两个规则,可能是第一个超过第二个规则:

  • 对于定义变量或成员类型(声明,参数,转换,泛型类型闭包)的所有用法,请使用别名(小写关键字)
  • 在静态上下文中使用类型名称(PascalCased类标识符)用于类型的所有用法(调用静态方法,如解析器或字符串操作方法,或静态属性,如MinValue/MaxValue).


mun*_*ent 5

它们是相同的。string和分别intString和的语法别名Int32