数据类型:数组
C#中的变量类型根据其定义能够分为两种:一种是值类型,一种是引用类型。这两种类型的差异在于数据的存储方式。值类型的变量自己直接存储数据。而引用类型则存储实际数据的引用,程序经过此引用找到真正的数据。ide
值类型变量直接存储其数据值,主要包含整数类型、浮点类型以及布尔类型。值类型变量在栈中进行分配,所以效率很高,使用值类型主要目的是为了提升性能。值类型有以下特性:性能
一、值类型都存储在栈中。ui
二、访问值类型变量时,通常都是直接访问其实例。spa
三、每一个值类型变量都有本身的数据副本,所以对一个值类型变量的操做不会影响其余变量。代理
四、复制值类型变量时,复制的是变量的值,而不是变量的地址。对象
五、值类型变量不能为null,必须具备一个肯定的值。继承
值类型是从System.ValueType类继承而来的类型。接口
整数类型:内存
整数类型用来存储整数数值,即没有小数部分的数值。能够是正数,也能够是负数。整数型数据在C#中有3种表示形式:分别为:十进制、八进制、十六进制。
其中八进制必须以0开头。好比:0123.
十六进制必须以0x或0X开头。
在C#中内置的数据类型为:sbyte、short、int、long 、byte、ushort 、uint、ulong。
浮点类型变量主要用于处理含有小数的数值数据,浮点类型主要包含float、double两种数值类型。
若是不作任何设置,包含小数点的数值都被认为是double类型。若是要将数值以float类型来处理,就应该经过强制使用F或f将其指定为float类型。
若是要将数值强制指定为double类型,则应该使用D或d进行设置。
布尔类型主要用来表示true或false值。一个布尔类型的变量,其值只能是true或false。不能将其它的值指定给布尔类型变量。布尔类型变量不能与其它类型之间进行转换。布尔类型一般被用在流程控制中做为判断条件。
引用类型:
引用类型是构建C#应用程序的主要对象类型数据。在应用程序执行过程当中,预先定义的对象类型以new建立对象类型,而且存储在堆中。堆是一种由系统弹性配置的内存空间,没有特定大小及存活时间,所以能够备弹性地运用于对象的访问。引用类型就相似于生活中的代理商,代理商没有本身的产品,而是代理厂家的产品,使其就好像是本身的产品同样。
引用类型具备以下特征:
一、必须在托管堆中为引用类型变量分配内存。
二、使用new关键字来建立引用类型变量。
三、在托管堆中分配的每一个对象都有与之相关联的附加成员,这些成员必须被初始化。
四、引用类型变量是由垃圾回收机制管理的。
五、多个引用类型变量能够引用同一个对象,这种情形下,对一个变量的操做会影响另外一个变量所引用的同一个对象。
六、引用类型被赋值前的值都是null。
七、全部被称为“类”的都是引用类型。主要包括:类、接口、数组和委托。
好比:建立一个控制台应用程序,在其中建立一个类C,在此类中创建一个字段Value,并初始化为0。而后,在程序的其它位置经过new建立对此类的引用类型变量。代码以下:
class Program
{
class C
{
public int Value=0;
}
public static void Main(string[] args)
{
C c1=new C();
c1.Value=100;
}
}