c#语言是一种强类型语言,在程序中用到的变量、表达式和数值等都必须有类型,编译器检查所有数据类型操作的合法性,非法数据类型操作编译时不能通过。这种特性保证了变更中存付诸的数据的安全。在C#中,数据类型分为两大类:一类是值类型(value types),一类是引用类型(reference types).
下来先说一下值类型:
所谓值类型就是一个包含实际数据的量。当定义一个值类型的变量时,C#会根据它所声明的类型,以堆栈方式分配一块大小相适合的存储区给这个变量,随后对这个变量的读写操作就直接在这块内存区域进行。
例如
int iNum=10;//分配一个32位内存区域给变量iNum,并将10放入该内存区域
iNum=iNum+10;//从变量iNum中取值,加上10,再将计算结果赋予给iNum
C#中的值类型括:简单类型、枚举类型和结构类型。
1,简单类型
简单类型是系统预置的,一共有13个数值:
下来先说一下值类型:
所谓值类型就是一个包含实际数据的量。当定义一个值类型的变量时,C#会根据它所声明的类型,以堆栈方式分配一块大小相适合的存储区给这个变量,随后对这个变量的读写操作就直接在这块内存区域进行。
例如
int iNum=10;//分配一个32位内存区域给变量iNum,并将10放入该内存区域
iNum=iNum+10;//从变量iNum中取值,加上10,再将计算结果赋予给iNum
C#中的值类型括:简单类型、枚举类型和结构类型。
1,简单类型
简单类型是系统预置的,一共有13个数值:
简单类型就是组成应用程序中基本组成部件的类型,例如数值和布尔值(true或false)。简单类型还可以组成比较复杂的类型。大多数简单类型都是存储数值的,初看起来有点奇怪,肯定只需要一种类型存储数值吗?
数值类型过多的原因是在计算机内存中,把数字作为一系列的0和1来存储的机制。对于整数值,用一定的位(单个数字,可以是0或1)来存储,用二进制格式来表示。以N位来存储的变量可以表示任何介于0 到 (2N - 1)之间的数。大于这个值的数太大,不能存储在这个变量中。
例如,有一个变量存储了2位,在整数和表示该整数的位之间的映射应如下所示:
0 = 00
1 = 01
2 = 10
3 = 11
如果要存储更大的数,就需要更多的位(例如,3位可以存储0~7的数)。
这个论点的结论是要存储每个可以想像得到的数,就需要非常多的位,这并不适合PC。即使可以用足够多的位来表示每一个数,变量使用这些位来存储它,其效率也非常低下,例如,只需要存储从0到10之间的数 (因为存储器被浪费了)。其实4位就足够了,可以用相同的内存空间存储这个范围内的更多数值。
相反,许多不同的整数类型可以用于存储不同范围的数值,占用不同的内存空间(至多64位)其列表如下:
当然,除了整数以外,还可以存储浮点数,它们不是整数。可以使用的浮点数变量类型有3种:float, double和 decimal。前两种可以用+/–m×2e的形式存储浮点数,m和e的值随着类型的不同而不同。Decimal使用另一种形式:+/–m×10e。这3种类型、其m和e的值,以及它们在实数中的上下限如表

除了数值类型外,还有另外3种简单类型,如表

注意组成string的字符数没有上限,因为它可以使用可变大小的内存。
二十三年春秋梦,一朝秋雨人初醒。 几曾磨剑图破壁,而今励志待明朝。 莫道红颜无我辈,古来坦途有几人? 英雄何惧前途路,丈夫岂会不腾达!
浙公网安备 33010602011771号