的做法是使用 C# 类型别名而不是 CTS System.* 类型(int
而不是 Int32
,string
而不是 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 位机器上运行它的代码,很可能他不知道int32
和int
只是别名,这会让他做一个错误的假设。
换句话说,即使从功能的角度来看没有任何区别,为了避免代码中的歧义(引用大概是 32 位代码),我建议使用int.Parse(..)