C# 是一种强类型语言。在变量中存储值之前,必须指定变量的类型,如以下示例所示:
int a = 1;
string s = "Hello";
XmlDocument tempDocument = new XmlDocument();
注意,对于简单的内置类型(如 int)以及复杂的或自定义的类型(如 XmlDocument)都必须指定类型。
C# 包括对下面的内置数据类型的支持:
预定义类型 | 定 义 | 字节数 |
byte | 0~255之间的整数 | 1 |
sbyte | -128~127之间的整数 | 1 |
short | -32768~32767之间的整数 | 2 |
ushort | 0~65535之间的整数 | 2 |
int | -2147483648~2147483647之间的整数 | 4 |
uint | 0~4294967295之间的整数 | 4 |
long | -9223372036854775808~9223372036854775807之间的整数 | 8 |
ulong | 0~18446744073709551615之间的整数 | 8 |
bool | 布尔值:true或false | 1 |
float | 单精度浮点值,取值范围1.5×~3.4× | 4 |
double | 双精度浮点值,取值范围5.0×~1.7× | 8 |
decimal | 精确的十进制值,有28个有效位 | 12 |
object | 其他所有类型的基类型 | 不定 |
char | 0~65535之间的单个Unicode字符 | 2 |
string | 任意长度的Unicode字符序列 | 不定 |
decimal类型的赋值和定义
decimal bankBalance = 3433.20; //错误
上面语句的错误在于,若无其他指定,C#编译器默认所有的带小数点的数字都是double类型的。可以通过附加后缀来指定数值类型,如下例所示:
decimal bankBalance = 3433.20M;
可用的后缀如表2-2所示。后缀允许使用小写。
类别 | 后缀 | 描述 |
整数 | U | 无符号 |
L | 长整型 | |
UL | 无符号长整型 | |
实数 | F | 浮点型 |
D | 双精度型 | |
M | 十进制 | |
L | 长整型 |