最佳实践:使用什么,.Net类或短名称?

在C#中,我们有.Net类和短名称,如Double和double。 有人回忆说我总是会使用短名,想知道原因。 我知道他们俩都是一样的 ,但为什么有时人比其他人更受欢迎? 只是可读性还是还有其他更多东西?

例如,如果我创建一个具有字符串和布尔属性的类,则应始终使用以下哪一项,并且应该使用另一个:

Class MyClass { ... private String x; private Boolean y; ... } 

要么

 Class MyClass { ... private string x; private bool y; ... } 

简而言之:就像你想要的那样。

我希望每次都能使用别名。

如果代码中有多个不同的Int32 ,请使用Int32而不是int。 像混合Int32Int64Int16

嗯,他们是一样的。 编译到CLR后,它们都指向相同的数据类型。

这完全取决于你。 对于某些可读性更为不可靠。 因此,请使用更易读,更方便的方法。

别名只是因为有方便性而使用,但它们与编译器的实际相同。

string是System.String的别名,bool是System.Boolean的别名,依此类推。 C#类型关键字及其别名是可互换的。

我个人更喜欢使用别名,除非我需要强调显式类型,以防将来需要这些信息。 比如使用System.Int32而不是int来明确地表明存在限制,即使它们完全相同。

在声明给定类型的变量/字段时,如果需要访问静态方法和短名称,则应使用类名。

 int i = 0; Int32.TryParse(s, out i); 

请参阅任何Microsoft代码示例http://msdn.microsoft.com/en-us/library/system.int32.aspx

编译代码与其他方式没有区别。 它更干净,更易读。

您可以在代码中使用Int32或int,但是您应该以方便的方式使用它,不应该同时使用它们,它可能使代码不可读,但C#约定表明您应该始终使用同义词。

有时,您可能会混合使用Java中的“ Wrapper Classes ”和.Net中的“ Nullable Types ”,或“C#的同义词类型 ”

在C#“int”和“Int32”是相同的,“bool和”Boolean“是相同的,”string“和”String“是相同的,但”int“是C#语言中”System.Int32“的同义词.Net类。

你可以使用“int?” 或Nullable 使变量接受“null”值,但在Java中,您应该使用包装类Integer而不是整数来保存“null”值。

intboolstring它们只是System命名空间中预定义类型的别名

完整列表http://msdn.microsoft.com/en-us/library/ya5y69ds%28VS.80%29.aspx