时间:2015-1-13来源:不详作者:佚名
c#
 一、变量的基本概念:         变量本事是用来存储特定类型的数据,可以随时改变变量中所存储的数据值。变量具有名称、类型和值。变量的值是可以发生变化的,使用变量之前必须先声明变量,即指定变量的类型和名称。      1、变量类型:         变量类型根据其定义分为:一种是值类型,另一种是引用类型。   二、变量类型;   1、值类型特征:   <!--[if !supportLists]-->            ① <!--[endif]-->值类型变量都存储在堆栈中;   <!--[if !supportLists]-->            ② <!--[endif]-->访问值类型变量时,一般都是直接访问其实例;   <!--[if !supportLists]-->            ③ <!--[endif]-->每个值类型变量都有自己的数据副本,因此对一个值类型变量操作不会影响其他变量;   <!--[if !supportLists]-->            ④ <!--[endif]-->复制值类型变量时,复制的是变量的值,而不是变量的地址;   <!--[if !supportLists]-->            ⑤ <!--[endif]-->值类型变量不能为NULL,必须具有一个确定的值     值类型是从System.ValueType 类继承而来的类型。      2、整数类型:整数类型代表没有小数点的整数数值   类型   说明   范围   Sbyte   8位有符号整数   取值范围在128~127之间   Short   16位有符号整数   取值范围在-32,768~32,767之间   Int   32位有符号整数   取值范围在-2,147,483,648~ 2,147,483,647之间   Long   64位有符号整数   取值范围在-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807之间   Byte   8位无符号整数   取值范围在0~255之间   Ushort   16位无符号整数   取值范围在0~65,535之间   Uint   32位无符号整数   取值范围在 0 ~ 4,294,967,295之间   Ulong   64位无符号整数   取值范围在0 ~ 18,446,744,073,709,551,615之间             创建一个控制台应用程序,声明变量int类型的变量ls并初始化为927,一个为byte类型的变量shj并初始化为255,输出     1 statci void Main (string [] arge) 2 { 3         int ls=927;//声明一个int类型的变量ls 4         byte shj =255;//声明一个byte类型的变量shj 5         Console.WriteLine("ls={0},shj={1}"+ls,shj);//输出 6         Console.ReadLine(); 7 }         如果将byte类型的变量shj赋值266出现错误,byte值范围0~255   3、浮点类型:浮点类型变量主要用于处理含有小数的数值数据,浮点型主要包含float和double。 它们的差别在于取值范围和精度    类型   说明   范围   float   精确到7位数    取值范围在 1.5x10^-45~ 3.4x10^38之间   double   精确到15~16位数    取值范围在 5.0x10^-324 ~ 1.7x10^308之间           如果不做任何设置,包含小数点的数值都被认为double类型,如果没有指明的情况下,这个数值是double类型。如果要将数值一float类型来处理,就要强制转换使用f或F将其指定为float类型   1             double MyDou=927d;//使用d强制转换为double 2             double mudou=112D;//使用D强制转换为double      将数值数值类型强制指定为double类型,则需要使用D或d进行设置   1             double MyDou=927d;//使用d强制转换为double 2             double mudou=112D;//使用D强制转换为double         <!--[if !supportLists]-->3、<!--[endif]-->布尔型:布尔类型主要用来表示true/false值,一个布尔类型的变量,其值只能是true或者false,不能将其他的值指定给布尔类型变量,布尔类型变量不能与其他类型进行转换。     将927赋值给布尔类型变量x   1             Bool x=927;        这样赋值是错误的,常量值927无法转换为bool。   三、引用类型:    1、 引用类型是构建C#应用程序的主要对象类型数据,预先定义的对象类型以new创建对象实例,并存储在堆栈中。    2、引用类型特征:   <!--[if !supportLists]-->                    ① <!--[endif]-->必须在托管堆中为引用类型变量分配内存;   <!--[if !supportLists]-->                    ② <!--[endif]-->必须需new关键字来创建引用类型变量;   <!--[if !supportLists]-->                    ③ <!--[endif]-->在托管堆中分配的每个对象都有与之相关联的附加成员,这些成员必须被初始化;   <!--[if !supportLists]-->                    ④ <!--[endif]-->引用类型变量室友垃圾回收机制来管理的;                       ⑤ 多个引用变量可以引用同一对象,这种情况下,对一个变量的操作会影响另一个变量所引用的同一对象                       ⑥ 引用类型被赋值前的值都是NULL       所有被称为“类”的都是引用类型,主要包括类、接口、数组和委托。           创建一个控制台应用程序,在其中创建一个C类,在该类中建立一个字段Value,并初始化为0.然后通过其他位置通过new创建该类的引用类型变量,最后输出。      1 class Program  2     {  3         class C //创建一个C类  4         {  5             public int Value = 0;//声明一个公共int类型的变量Value  6         }  7         static void Main(string[] args)  8         {  9             int v1 = 0;//声明一个int类型的变量v1,并初始化为0 10             int v2 = 1;//声明一个int类型的变量v2,并将v1赋值个v2 11             v2 = 927;//重新将变量V2赋值为927 12             C r1 = new C();//使用new关键字创建引用对象 13             C r2 = r1;//使r1=r2 14             r2.Value = 112;//设置r2的value值 15             Console.WriteLine("Values;{0},{1}", v1, v2);//设置输出v1和v2的变量 16             Console.WriteLine("refs;{0},{1}", r1.Value, r2.Value);//输出引用类型对象的value值 17             Console.ReadLine(); 18         } 19     }

转载请注明原文网址:http://www.helimiaopu.com/cxkf/cxkf/10.html
------分隔线----------------------------