C# 三、数据类型

整数类型

数据类型 含义 取值范围

           后缀

(不区分大小写)

sbyte 有符号8位

-128 ~ 127

 
byte 无符号8位

0 ~ 255

 
short 有符号16位

-32,768 ~ 32,767

 
ushort 无符号16位

0 ~ 65,535

 
int 有符号32位

-2,147,483,648 ~ 2,147,483,647

 
uint 无符号32位

0 ~ 4,294,967,295

u(可不加)
long 有符号64位

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

l(可不加)
ulong 无符号64位

0 ~ 18,446,744,073,709,551,615

ul或LU(可不加)

在项目中合理选择来存放整数数据,以避免浪费资源.

浮点数类型

数据类型 含义 取值范围 有效数字

           后缀

(不区分大小写)

float

32位浮点数/单精度浮点数

±1.5 ×10^{-45} ~ ±3.4 × 10^{38}

7 f(必须加)
double

64位浮点数/双精度浮点数

±5.0 × 10^{-324} ~ ±1.7 × 10^{308} 15~16 d(可不加)

浮点数的精度是可变的.除非用分数表示时分母是2的整数次幂,否则用二进制浮点类型无法准确地表示该数.

浮点数的精度由有效数字的个数决定.根据定义,浮点数的精度与它所代表的数字的大小成正比.

十进制浮点数类型 

数据类型

大小

取值范围

有效数字

           后缀

(不区分大小写)

 decimal  128位 ±1.0 × 10^{-28} 到 ±7.9 × 10^{28} 28 ~ 29 m(必须加)

布尔类型/条件类型

Boolean/bool

有且只有两种取值:true(真)和false(假)

字符类型

char

表示16位字符,其取值范围对应于Unicode字符集。

Unicode标准:

        Unicode是一个国际性标准,用来表示大多数语言中的字符。

       它便于计算机系统构建本地化的应用程序,为不同的语言文化显示具有本地特色的字符。

字符串类型

string

零或多个字符组成的有限序列称为字符串。

上面类型中,除了字符串类型,8种整数类型+2种二进制浮点类型+1种十进制浮点类型+1种布尔类型+1种字符类型,称为预定义类型(predefined type).

C#的所有基本类型都有短名称和完整名称.完整名称对应于BCL(Base Class Library,基类库)中的类型命名.该名称在所有语言中都是相同的,而且对程序集里的类型进行了唯一性标识.由于基本数据类型是其它类型的基础,所以C#为基本数据类型的完整名称提供了短名称或缩写的关键字.从编译器的角度看,两种名称代表同一个数据类型,最终都生成相同的代码.事实上,检查最终生成的CIL代码,根本看不出源代码中具体使用的名称.

C#既支持完整BCL名称,也支持关键字.使用时一般使用C#关键字.但是,不管使用哪一种,都要保持一致,不要变来变去.

字面量或字面值(literal value):表示源代码中的固定值.

直接将值放到源代码中称为硬编码(hardcoding).

你可能感兴趣的:(C#)