第二章回顾

来源:互联网 发布:软件学报审稿流程 编辑:程序博客网 时间:2024/04/25 01:37
第二章: 深入C#数据类型      1. 值类型:      源于System.ValueType家族,每个值类型的对象都有一个独立的内存区域用于保存自己的值,值类型数据所在的区域成为栈,(Stack)。  只要在代码中修改它,就在它的内存区域内保存这个值。      static void Main(string[] args)        {            int heightZhang = 170;            int heightLi = heightZhang;            Console.WriteLine("去年,张:" + heightZhang + "去年,李:" + heightLi);            heightLi = 180;            Console.WriteLine("今年,张:" + heightZhang + "今年,李:" + heightLi);        }  2.引用类型:       源于System.object家族,在C#中引用类型主要包括数组,类和接口。   static void Main(string[] args)        {            int[] zhang = new int[] { 170, 60 };            int[] li = zhang;            Console.WriteLine("去年,张身高:" + zhang[0] + "体重是:" + zhang[1] + "去年,李身高:" + li[0] + "体重是:" + li[1]);            li[0] = 180;            li[1] = 90;            Console.WriteLine("今年,张身高:" + zhang[0] + "体重是:" + zhang[1] + "今年,李身高:" + li[0] + "体重是:" + li[1]);        }//数组复制static void Main(string[] args)        {            int[] zhang = new int[] { 170, 60 };            int[] li = zhang;            Console.WriteLine("复制前----,张身高:" + zhang[0] + "体重是:" + zhang[1] + "去年,李身高:" + li[0] + "体重是:" + li[1]);            for (int i = 0; i < zhang.Length; i++)            {                li[i] = zhang[i];            }            Console.WriteLine("去年,张身高:" + zhang[0] + "体重是:" + zhang[1] + "去年,李身高:" + li[0] + "体重是:" + li[1]);            li[0] = 180;            li[1] = 90;            Console.WriteLine("今年,张身高:" + zhang[0] + "体重是:" + zhang[1] + "今年,李身高:" + li[0] + "体重是:" + li[1]);        }数据类型分类:        值类型:     基本数据类型:               整形:int               长整形:long   浮点型:float   双精度型:double   字符型:char   布尔型:bool枚举类型:               枚举:enum结构类型:                 结构:struct引用类型:                 类:                               基类:System。Object                               字符串:string                                自定义类:class                接口:                               接口:interface                数组:                               数组:int[],string[]    结构的定义:        访问修饰符 struct 结构名{    //结构体}特点:                结构中可以有字段,也可以有办法;               定义时,结构中的字段不能被赋初值。   使用:               可以不用new ,直接定义结构的对象即可,               声明结构的对象后,必须给结构的成员赋初值。      结构用的越多,消耗的存储空间越多。       public int _id;       public int _age;       public void Show()       {           Console.WriteLine("ID:{0}\n年龄:{1}",_id,_age);       }   static void Main(string[] args)        {            one o = new one();            o._id = 1000;            o._age = 10;            o.Show();        }装箱和拆箱:        值类型转换为引用类型为装箱引用类型转换为值类型为拆箱            static void Main(string[] args)        {            int i = 123;            object o = i;            i = 456;            Console.WriteLine("值类型为:{0}", i);            Console.WriteLine("引用类型为:{0}", o);            Console.ReadLine();        }                         使用值传递,在方法中对参数值的更改在调用后不能保留,         使用ref方式传递,可以将对参数值的更改保留。  

0 0
原创粉丝点击