C#基本数据类型
知识点:
- 数据类型主要用于指明变量和常量存储值的类型。
- c#语言的数据类型分为值类型和引用类型。
- 值类型包括整型、浮点型、字符型、布尔型、枚举型等;引用类型包括类、接口、数组、委托、字符串等。
- 从内存空间的角度而言,值类型的值是存放到栈中的,每次存取都会在内存操作;而引用类型首先会在栈中创建一个引用变量,然后再堆中创建对象本身,再把这个对象所在的内存地址赋值给引用变量。
整型:
所谓整型就是存储整数的类型,按照存储值的范围不同,C# 语言将整型分成了 byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数。
有符号数可以表示负数,无符号数仅能表示正数。
具体的整数类型及其表示范围如下表所示:
类型 | 取值范围 |
sbyte | 有符号数,占1个字符,-2^7~2^7-1 |
byte | 无符号数,占1个字符,0~2^8-1 |
short | 有符号数,占2个字符,-2^15~2^15-1 |
ushort | 无符号数,占2个字符,0^15~2^16-1 |
int | 有符号数,占4个字符,-2^31~2^31-1 |
uint | 无符号数,占4个字符,0~2^32-1 |
long | 有符号数,占8个字符,-2^63~2^63-1 |
ulong | 无符号数,占4个字符,0~2^64-1 |
从上面的表中可以看出 short、int 和 long 类型所对应的无符号数类型都是在其类型名称前面加上了 u 字符,只有 byte 类型比较特殊,它存储一个无符号数,其对应的有符号 数则是 sbyte。
此外,在 C# 语言中默认的整型是 int 类型。
浮点型:
浮点型是指小数类型,浮点型在 C# 语言中共有两种,一种称为单精度浮点型,一种称为双精度浮点型。
关于浮点型的具体说明如下表所示。
在 C# 语言中默认的浮点型是 double 类型。如果要使用单精度浮点型,需要在数值后 面加上 f 或 F 来表示,例如 123.45f、123.45F。
字符型和字符串类型:
字符型只能存放一个字符,它占用两个字节,能存放一个汉字。
字符型用 char 关键字表示,存放到 char 类型的字符需要使用单引号括起来,例如 'a'、'中' 等。
字符串类型能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。
使用 string 关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,例如 "abc"、"123" 等。
在 C# 语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出,转义字符的作用就是输出这个有特殊含义的字符。
转义字符非常简单,常用的转义字符如下表所示。
转义字符 | 等价符号 |
\' | 单引号 |
\" | 双引号 |
\0 | 空 |
\a | 警告(产生蜂鸣声) |
\b | 退格 |
\f | 换页 |
\n | 换行 |
\t | 水平制表符(通常4个空格) |
\v | 垂直制表符 |
\\ | 一个方向杆(\) |
布尔类型
在 C# 语言中,布尔类型使用 bool 来声明,它只有两个值,即 true 和 false。
当某个值只有两种状态时可以将其声明为布尔类型,例如,是否同意协议、是否购买商品等。
布尔类型的值也被经常用到条件判断的语句中,例如,判断某个值是否为偶数、判断某个日期 是否是工作日等。