CSharp - 基元类型(primitive)
基元类型
CLR 定义的基元(原始)类型:
Boolean
, Byte
, SByte
, Int16
, UInt16
, Int32
, UInt32
, Int64
, UInt64
, Char
, Double
, Single
。
注意:string不是基元(原始)类型。
即:
1 | System.Boolean |
通过 System.Type
提供 IsPrimitive
属性,指示当前类型是否为基元类型;
内置类型
C#内置类型和.NET框架中的类型有直接的映射关系。C#内置类型直接映射到Framework(FCL)中存在的类型。如: 在用内置类型int初始化一个整数时,int会直接映射到FCL中 System.Int32
类型,这个过程,编译器自动完成。C#中的string是内置类型,直接映射到.NET框架中的String,所以没有任何不同。
下图显示,C#中的所有内置类型和FCL类型:
隐式转化:如果转化过程时安全的,也就是说在转化过程中数据不会丢失,那么久进行隐式转换。
显示转换:转换过程不安全,意味着可能会丢失精度或者数量级,那就要求显示转换。
参考: