C# Int32.Parse与int.Parse

C# Int32.Parse与int.Parse,c#,coding-style,C#,Coding Style,通常使用C#类型别名代替CTS系统。*类型(int代替Int32和string代替string)。但是,我不清楚在这种情况下如何调用类型的静态方法:别名或系统类型 微软似乎没有定义任何使用别名而不是系统类型的指南。但在MSDN中,别名用于变量,CTS等价物用于静态调用。比如说 StyleCop定义了相反的in-to始终使用别名。所以int.Parse可以,而Int32.Parse不行 (在我看来)这个问题是风格问题。但是我不明白为什么要在静态调用中使用CTS类型。绝对没有技术上的区别,只是编码风

通常使用C#类型别名代替CTS系统。*类型(
int
代替
Int32
string
代替
string
)。但是,我不清楚在这种情况下如何调用类型的静态方法:别名或系统类型

微软似乎没有定义任何使用别名而不是系统类型的指南。但在MSDN中,别名用于变量,CTS等价物用于静态调用。比如说

StyleCop定义了相反的in-to始终使用别名。所以
int.Parse
可以,而
Int32.Parse
不行


(在我看来)这个问题是风格问题。但是我不明白为什么要在静态调用中使用CTS类型。

绝对没有技术上的区别,只是编码风格。就我个人而言,我提倡
int.Parse
,但也有许多著名的方法恰恰相反。

我个人对于静态方法调用总是使用完整的类名。这强调了这样一个事实,即它们实际上是包含代码片段的类,而不是别名所暗示的最简单的(基本的)数据


我总是使用别名作为变量。

我强烈建议使用
int.Parse(…)
而不是
int32
。如果你在为某人设计 阅读您在64位机器上运行的代码,他可能不知道
int32
int
只是别名,这会让他做出错误的假设


换句话说,即使从功能的角度看没有任何区别,为了避免代码中的歧义(引用可能是32位代码),我建议使用
int.Parse(…)

我会支持StyleCop的建议。我更喜欢
Int32.Parse
,但我不是专家。:)@默认为否,您只是不知名而已。:-)我想知道使用别名背后的原因是什么。我知道使用全名背后的原因(见我的答案),但我从未听说过使用别名的原因。@Stilgar使用别名背后的原因就是到处使用别名。除了
long var=Int64.Parse(“1”)不如
long var=long.Parse(“1”)直观@Stillgar:我不会说真正的理由。我知道你提供的理由没有实质内容。我听说我可以同意的一个原因是,例如,
Int64
可以立即清楚地显示类型的宽度,而
long
则不能。如果你相信它,那么就问问C++开发人员他们的想法。这与静态方法没有关系,因为数据的大小与变量无关,而不是方法调用。事实上,您可以执行长i=int.Parse(…)。更重要的是,你将如何证明String.IsNullOrEmpty与String.IsNullOrEmpty的合理性?@Stilgar:我不是在谈论数据的任何形式。我所说的只是名称:int32 vs int。变量、变量大小、访问器类型和所有其他内容与本文无关。我一直在修改我的问题,发现这一点不被接受。你的回答给出了做某事的合理解释。虽然我更喜欢另一种方式:)
int number;
Int32.TryParse(value, out number);