C# Int32.Parse与int.Parse
通常使用C#类型别名代替CTS系统。*类型(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类型。绝对没有技术上的区别,只是编码风
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);