什么时候使用int还是Int32还是string与String?
在C#中,内置类型的关键字只是System
命名空间中对应类型的别名。
通常,使用关键字(如int
)还是使用标识符(如Int32
)来引用内置类型都没有区别。 但是有一个例外,所以我的问题分两部分:
C#不要求您使用其中一个或另一个,因为它们是等效的。 这是个人喜好和编码习惯。 因此,请使用看起来对您和您的团队更具可读性的文章。 只有一个建议:保持一致:不要在你的代码库中使用别名,在下半部分使用完整类型名称。
string
是System.String
类型的别名, int
是System.Int32
的别名。 因此,请根据您的喜好使用。
使用别名指令不能使用关键字作为类型名称(但可以在类型参数列表中使用关键字):
using Handle = int; // error
using Handle = Int32; // OK
using NullableHandle = Nullable<int>; // OK
枚举的基础类型必须使用关键字来指定:
enum E : int { } // OK
enum E : Int32 { } // error
根据x
是关键字还是标识符,表达式(x)+y
, (x)-y
和(x)*y
的解释会有所不同:
(int)+y // cast +y (unary plus) to int
(Int32)+y // add y to Int32; error if Int32 is not a variable
(Int32)(+y) // cast +y to Int32
(int)-y // cast -y (unary minus) to int
(Int32)-y // subtract y from Int32; error if Int32 is not a variable
(Int32)(-y) // cast -y to Int32
(int)*y // cast *y (pointer indirection) to int
(Int32)*y // multiply Int32 by y; error if Int32 is not a variable
(Int32)(*y) // cast *y to Int32
链接地址: http://www.djcxy.com/p/21199.html
上一篇: When does it matter whether you use int versus Int32, or string versus String?
下一篇: What is the difference between bool and Boolean types in C#