C#基本数据类型

< 上一页C#基础语法 C#运算符下一页 >
数据类型主要用于指明变量和常量存储值的类型,C# 语言是一种强类型语言,要求每个变量都必须指定数据类型。

C# 语言的数据类型分为值类型和引用类型。

值类型包括整型、浮点型、字符型、布尔型、枚举型等;引用类型包括类、接口、数组、委托、字符串等。

从内存存储空间的角度而言,值类型的值是存放到栈中的,每次存取值都会在该内存中操作;引用类型首先会在栈中创建一个引用变量,然后在堆中创建对象本身,再把这个对象所在内存的首地址赋给引用变量。

接下来我们来了解一下 C# 语言中的常用基本数据类型,包括值类型中的整型、浮点型、字符型、 布尔型,以及引用类型中常用的字符串类型。

整型

所谓整型就是存储整数的类型,按照存储值的范围不同,C# 语言将整型分成了 byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数。

有符号数可以表示负数,无符号数仅能表示正数。

具体的整数类型及其表示范围如下表所示。

类 型 取值范围
sbyte 有符号数,占用1个字节,-27〜27-1
byte 无符号数,占用1个字节,0〜28-1
short 有符号数,占用2个字节,-215〜215-1
ushort 无符号数,占用2个字节,0〜216-1
int 有符号数,占用4个字节,-231〜231-1
uint 无符号数,占用4个字节,0〜232-1
long 有符号数,占用8个字节,-263〜263-1
ulong 无符号数,占用8个字节,0〜264-1

从上面的表中可以看出 short、int 和 long 类型所对应的无符号数类型都是在其类型名称前面加上了 u 字符,只有 byte 类型比较特殊,它存储一个无符号数,其对应的有符号 数则是 sbyte。

此外,在 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。

当某个值只有两种状态时可以将其声明为布尔类型,例如,是否同意协议、是否购买商品等。

布尔类型的值也被经常用到条件判断的语句中,例如,判断某个值是否为偶数、判断某个日期 是否是工作日等。
< 上一页C#基础语法 C#运算符下一页 >