最佳实践:使用什么,.Net类或短名称?
在C#中,我们有.Net类和短名称,如Double和double。 有人回忆说我总是会使用短名,想知道原因。 我知道他们俩都是一样的 ,但为什么有时人比其他人更受欢迎? 只是可读性还是还有其他更多东西?
例如,如果我创建一个具有字符串和布尔属性的类,则应始终使用以下哪一项,并且应该使用另一个:
Class MyClass { ... private String x; private Boolean y; ... }
要么
Class MyClass { ... private string x; private bool y; ... }
简而言之:就像你想要的那样。
我希望每次都能使用别名。
如果代码中有多个不同的Int32
,请使用Int32
而不是int。 像混合Int32
, Int64
或Int16
。
嗯,他们是一样的。 编译到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
int
, bool
, string
它们只是System命名空间中预定义类型的别名
完整列表http://msdn.microsoft.com/en-us/library/ya5y69ds%28VS.80%29.aspx