C#学习笔记 基本数据类型

2022-05-05 18:33:06 浏览数 (1)

学习笔记的所有源代码都在这里,https://github.com/techstay/csharp-learning-note 。

整型

C#有8个预定义的整数类型。

名称

说明

sbyte

8位有符号整数

byte

8位无符号整数

short

16位有符号整数

ushort

16位无符号整数

int

32位有符号整数

uint

32位无符号整数

long

64位有符号整数

ulong

64位无符号整数

对于程序中出现的数字字面值,如果什么符号都不带,那么默认就是int类型的值。如果后面加UL、L、U等后缀,就说明是ulong、long、uint类型的字面值。后缀也可以是小写字母,但是由于小写字母l容易和数字1混淆,所以最好还是使用大写字母。对于所有的整型,还可以添加0x前缀,表示16进制数。

代码语言:javascript复制
//定义一个int变量并赋值为十六进制10(A)
int i = 0XA;

//定义一个uint变量并赋值为1000
//后缀U表示uint类型字面值
uint ui = 1000U;

//定义一个long变量并赋值1000
//后缀L表示long类型字面值
long l = 1000L;

//定义一个ulong变量
//后缀UL表示ulong类型字面值
ulong ul = 1000UL;

浮点类型

类型

说明

位数

float

32位单精度浮点数

7

double

64位双精度浮点数

15/16

对于一个浮点数,没有后缀默认是double型的,如果有F后缀则认为是float型的。

代码语言:javascript复制
//定义一个float变量
//后缀F表示float类型字面值
float f = 5.0F;

//定义一个double变量
//无后缀默认是double类型字面值
double d = 5.0;

decimal类型

decimal类型用于执行精确的货币计算等任务,提供了128位高精度十进制数的表示法。它的字面值后缀是M。

代码语言:javascript复制
//定义一个decimal变量
//后缀M表示decimal类型字面值
decimal dm = 12.34M;

bool类型

bool类型只有两种取值,true或者false。该类型用于进行条件真假的判断,不能转换到其它类型。

代码语言:javascript复制
bool condition=true;
condition=false;

char类型

char类型使用单引号'括起来,表示一个16位的Unicode字符。虽然它和byte能表示的范围一样,但是C#编译器仍然认为这是两个不同的类型,不能直接进行隐式转换。除此之外,char类型还可以用4位十六进制的Unicode值(如’u0041’)、转换为char类型的数字(如(char)65)或者十六进制数(如’x0041’)来表示。另外,char类型还可以表示转义序列。

代码语言:javascript复制
//定义一个char变量
//值为单个Unicode(UTF-16)字符
//可以是转义字符或者其他可以转换为
//字符的值
char c = 'a';
c = 'n';
//Unicode字符序列
c = 'u0041';
//16进制数
c = 'x0041';

转义序列

字符

单引号

双引号

反斜杠

a

警告

b

退格

f

幻夜

n

换行

r

回车

t

水平制表符

v

垂直制表符

预定义的引用类型

以上所有类型都是值类型,除此之外,在C#中还有两种预定义的引用类型,object和string。object类是所有类型的基类,包括所有的基本的值类型、结构和类类型。而string是不可变字符串类。

0 人点赞