C#预定义数据类型简介

C#中数据类型分为值类型和引用类型,值类型存储在堆栈(stack)中,引用类型存储在托管堆(managed heap)中。 


值类型在变量中保存的是具体的值,变量之间的赋值是具体的变量值,而不是类型的地址引用。如:
int i=20;
int j=i; //这个时候j的值为20
i=30;//j的值仍然是20 ,并没有因为i的值的改变而改变
假定我们定义了一个类Point,Point是一个引用类型,它有一个int类型的成员变量x:
Point p1,p2;
p1=new Point();
p1.x=30;
p2=p1;
WriteLine(p2.x);//输出为30
p2.x=40;
WriteLine(p1.x);//输出为40
在这里我们通过New关键字只创建了一个Point对象,p1和p2都指向包含该对象的内存位置,p1和p2是引用类型的变量,所以在给p2.x赋值时p1.x的值一样会跟着变。
一、预定义值类型
值类型为.Net中的基本类型,包括整型、浮点类型、字符类型和布尔值。
1、整型
C#中包括8个预定义的整型类型:

所有的整数类型都可以被赋予十进制或者十六进制的值,后者需要0x前缀。
int i=0xa12b;
2、浮点类型
C#浮点类型为float和double。float精度较double低。double的精度比float大一倍。为float赋值时后边需要跟着F或者f:
float f=32.45F;

3、decimal类型
decimal表示精度更高的浮点数。位数28位。decimal赋值后边需要M或者m:
decimal d=123.455M

4、bool类型
bool类型表示true或者false。
5、char字符类型
char为了保存单个字符值,字符值用单引号括起来,如'C'。
char c='A';
二、预定义引用类型
C#中预定义引用类型为Object和String。
1、Object
object类型为C#中的根类型,所以内置类型和用户定义的类型都从它派生而来。可以使用object绑定任何特定子类型的对象。
object ob;
int i=12;
int j=1;
ob=i;
j=(int) ob;
object类型实现了一些基本方法,如Equals()、GetHashCode()、GetType()和ToString()。
2、string字符串类型
string为C#下的字符串类,提供了对字符串连接、分割等操作。

猜你喜欢

转载自blog.csdn.net/mpegfour/article/details/79370517
今日推荐