C#与.NET程序员面试宝典 3.1.1 面试题20:C#支持哪几个预定义的值类型
这个问题经常出现在面试中的判断题与选择题中,题目较为简单,旨在考察应聘者的基本功是否扎实。
【出现频率】★★★★★
【关键考点】
类型
值类型(value types)
C#中预定义的值类型
【考题分析】
类型实际上是程序集中的分子级模块。在C#中,所有的代码都通过类型来进行交互和运作。在设计好程序集后,程序员的大部分工作就是设计各种各样的类型,以及它们之间的运作方式。值类型 (value type) ,是一种由类型的实际值表示的数据类型。如果向一个变量分配值类型,则该变量将被赋予全新的值副本。
注意:值类型和引用类型不同,在引用类型中,赋值时不创建副本。值类型通常不创建在垃圾回收堆中,而是创建在方法的栈帧上。对值类型进行装箱是一个创建相应引用类型的过程。
C#中预定义的值类型,主要包括5个类型:整型、浮点类型、字符型、bool型和decimal型。其中每一个类型分别由多个内置类型组成,如表3.1所示:
表3.1 C#中的值类型
类型 |
名称 |
简要说明 |
字符型 |
System.Char |
表示一个16位的(Unicode)字符 |
bool型 |
System.Boolean |
返回true或false |
整型 |
System.Byte |
8位无符号的整数 0到255 |
整型 |
System.SByte |
8位有符号的整数 –128到127 |
整型 |
System.Int16 |
16位有符号的整数 –32768到32767 |
整型 |
System.Int32 |
32位有符号的整数 –2147483648到2147483647 |
整型 |
System.Int64 |
64位有符号的整数 –9223372036854775808到9223372036854775807 |
整型 |
System.Uint16 |
16位无符号的整数 0到65535 |
整型 |
System.Uint32 |
32位无符号的整数 0到4294967295 |
整型 |
System.Uint64 |
64位无符号的整数 0到18446744073709551615 |
浮点型 |
System.Single |
32位单精度浮点数 ±1.5×10-45到±3.4×1038 |
浮点型 |
System.Double |
64位双精度浮点数 ±5.0×10-324到±1.7×10308 |
decimal |
System.Decimal |
128位高精度十进制数 ±1.0×10-28到±7.9×1028 |
【答案】
C#中预定义的值类型,主要包括5个类型:整型、浮点类型、字符型、bool型和decimal型。其中每一个类型分别由多个内置类型组成。