数据类型主要用于指明变量和常量存储值的类型, C#
语言是一种强类型语言,要求每个变量都必须指定数据类型。
C#
语言的数据类型分为值类型和引用类型。
值类型包括整型、浮点型、字符型、布尔型、枚举型等;引用类型包括类、接口、数组、委托、字符串等。
从内存存储空间的角度而言,值类型的值是存放到栈中的,每次存取值都会在该内存中操作;引用类型首先会在栈中创建一个引用变量,然后在堆中创建对象本身,再把这个对象所在内存的首地址赋给引用变量。
接下来我们来了解一下 C# 语言中的常用基本数据类型,包括值类型中的整型、浮点型、字符型、 布尔型,以及引用类型中常用的字符串类型。
整型
所谓整型就是存储整数的类型,按照存储值的范围不同,C# 语言将整型分成了 byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数。
有符号数可以表示负数,无符号数仅能表示正数。
具体的整数类型及其表示范围如下表所示。
类型 | 取值范围 |
sbyte |
有符号数,占用 1 个字节,[-2^727〜2^727-1 ] |
byte |
无符号数,占用 1 个字节,[0〜2^828-1 ] |
short |
有符号数,占用 2 个字节,[-2^15215〜2^15215-1 ] |
ushort |
无符号数,占用 2 个字节,[0〜2^16216-1 ] |
int |
有符号数,占用 4 个字节,[-2^31231〜2^31231-1 ] |
uint |
无符号数,占用 4 个字节,[0〜2^32232-1 ] |
long |
有符号数,占用 8 个字节,[-2^63263〜2^63263-1 ] |
ulong |
无符号数,占用 8 个字节,[0〜2^64264-1 ] |
提示
在 C#
语言中默认的整型是 int
类型。
浮点型
浮点型是指小数类型,浮点型在 C#
语言中共有两种,一种称为单精度浮点型,一种称为双精度浮点型。
类型 | 取值范围 |
float |
单精度浮点型,占用 4 个字节,最多保留 7位 小数 |
double |
双精度浮点型,占用 8 个字节,最多保留 16位 小数 |
提示
在 C#
语言中默认的浮点型是 double
类型。如果要使用单精度浮点型,需要在数值后 面加上 f
或 F
来表示,例如 123.45f
、 123.45F
。
字符型和字符串类型
字符型只能存放一个字符,它占用两个字节,能存放一个汉字。
字符型用 char
关键字表示,存放到 char
类型的字符需要使用单引号括起来,例如 'a'
、 '中'
等。
字符串类型能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。
使用 string
关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,例如 "abc"
、 "123"
等。
在 C#
语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出,转义字符的作用就是输出这个有特殊含义的字符。
转义字符非常简单,常用的转义字符如下表所示。
转义字符 | 等价字符 |
\' |
单引号 |
\" |
双引号 |
\\ |
反斜杠 |
\0 |
空 |
\a |
警告(产生蜂鸣音) |
\b |
退格 |
\f |
换页 |
\n |
换行 |
\r |
回车 |
\t |
水平制表符 |
\v |
垂直制表符 |
布尔类型
在 C#
语言中,布尔类型使用 bool
来声明,它只有两个值,即 true
和 false
。