C# 变量 1.简单类型
简单类型就是组成应用程序中基本构件的类型,例如,数值和布尔值(true或false)。与复杂类型不同,简单类型没有子类型或特性。
有很多数值类型是因为在计算机内存中,把数字作为一系列的0和1来存储。对于整数值,用一定的位(单 个数字,可以是0或1)来存储,用二进制格式来表示。以N位来存储的变量可以表示任何介于0到(2N_1)之间 的数。大于这个值的数因为太大,所以无法存储在这个变量中。
例如,有一个变量存储了两位,在整数和表示该整数的位之间的映射应如下所示:
如果要存储更多数字,就需要更多的位(例如,3位可以存储0到7的数)。
这样得到的结论是要存储每个可以想象得到的数,就需要非常多的位,这并不适合PC。即使可以用足够多 的位来表示每一个数,用这么多的位存储一个表示范围很小的变量(例如0到10)的效率非常低下,因为存储器 被浪费了。其实表示0到10之间的数,4位就足够了,这样就可以用相同的内存空间存储这个范围内的更多 数值。
相反,许多不同的整数类型可用于存储不同范围的数值,占用不同的内存空间(至多64位),这些类型如表 3-1所示。
类 型 | 别 名 | 允许的值 |
sbyte | System.SByte | 介于-128和127之间的整数 |
byte | System. Byte | 介于0和255之间的整数 |
short | System. Int 16 | 介于- 32 768和32 767之间的整数 |
ushort | System.Ulntl6 | 介于0和65 535之间的整数 |
int | System.Int32 | 介于- 2 147 483 648和2 147 483 647之间的整数 |
uint | System.UInt32 | 介于0和4 294 967 295之间的整数 |
long | System.Int64 | 介于- 9 223 372 036 854 775 808和9 223 372 036 854 775 807之间的整数 |
ulong | System.UInt64 | 介于0和18 446 744 073 709 551 615之间的整数 |
注意:
这些类型中的每一种都利用了.NETFraraeworic中定r义的标准类塑•如第1章所述使用标准类型可以在语當 之间交互操作。在C#中这些类型的名称是Framework中定义的类型的别名,表3-1列出了这些类型在.NET Framework库中的名称。_
—些变量名称前面的“u”是unsigned的缩写,表示不能在这些类型的变量中存储负数,参见表3-1中的“允 许的值” 一列。
当然,还需要存储浮点数,它们不是整数。可以使用的浮点数变量类型有3种:float、double和decimal。 前两种可以用±mx2e的形式存储浮点数,其中m和e的值因类型而异。decimal使用另一种形式:土m><10% 这3种类型、它们所允许的m和e的值,以及它们在实数中的上下限如表3-2所示。
类 型 | 别 名 | m的 最小值 | m的 最大值 | e的 最小值 | e的 最大值 | 近似的 最小值 | 近似的 最大值 |
float | System.Single | 0 | 224 | -149 | 104 | 1.5 X 10*45 | 3.4 X 1038 |
double | System-Double | 0 | 253 | -1075 | 970 | 5.0 X 10'324 | 1.7 X 10308 |
decimal | Systcm-Decimal | 0 | 296 | -28 | 0 | 1.0 X 10'28 | 7.9 X 1028 |
除数值类型外,另外还有3种简单类型,如表3-3所示。
类 型 | 另IJ 名 | 允许的值 |
char | System.Char | 一个Unicode字符,存储0和65 535之间的整数 |
bool | System. Boolean | 布尔值:true或false |
string | Systcm.String | 一个字符序列 |
注意组成string的字符数量没有上限,因为它可以使用可变大小的内存„
布尔类型bod是C#中最常用的一种变量类型,类似的类型在其他语言的代码中非常丰富。当编写应用程 序的逻辑流程时,一个可以是trae或丨se的变量有非常重要的分支作用。例如,考虑一下有多少问题可以用true 或false(或yes和no)来回答。执行变量值之间的比较或检查输入的有效性就是后面使用布尔变量的两个编程 示例。
点击加载更多评论>>