Int32.Parse vs int.Parse


通常

的做法是使用 C# 类型别名而不是 CTS System.* 类型(int 而不是 Int32string 而不是 String )。但是,我不清楚在这种情况下使用什么来调用类型的静态方法:别名或系统类型。

Microsoft似乎没有定义任何使用别名而不是系统类型的指南。但在 MSDN 中,别名用于变量,CTS 等效项用于静态调用。例如 MSDN:分析数字字符串

int number;
Int32.TryParse(value, out number);

StyleCop 在 SA1121 中定义了相反的定义 - 始终使用别名。所以int.Parse没问题,而Int32.Parse不行。

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

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

我总是对变量使用别名。

绝对没有技术差异,只是编码风格。我个人主张int.Parse,但有许多知名专家倾向于相反。

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

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

最新更新