lesson03--值类型与引用类型

lesson03--值类型与引用类型

ID:34523285

大小:2.19 MB

页数:43页

时间:2019-03-07

lesson03--值类型与引用类型_第1页
lesson03--值类型与引用类型_第2页
lesson03--值类型与引用类型_第3页
lesson03--值类型与引用类型_第4页
lesson03--值类型与引用类型_第5页
资源描述:

《lesson03--值类型与引用类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章值类型和引用类型1本章目标理解值类型与引用类型的概念理解值类型与引用类型作为参数时的区别Ref和out类型的参数熟练掌握枚举、结构的使用2数据类型进阶数据类型基本的数据类型:Int,double,char,float,string……构造数据类型:类,接口,枚举,结构……数据类型的分类值类型引用类型3值类型和引用类型细分类别描述整型:int长整型:long基本数据类型浮点型:float值类型字符型:char布尔型:bool枚举类型枚举:enum结构类型结构:struct基类:Sys

2、tem.Object类字符串:string引用类型自定义类:class接口接口:interface数组数组:int[],string[]拆箱和装箱值类型和引用类型之间的转换装箱值类型引用类型拆箱staticvoidMain(string[]args)staticvoidMain(string[]args){{inti=123;inti=123;objecto=i;//objecto=i;//装箱装箱i=456;intj=(int)o;//拆箱}Console.WriteLine("值类型的值为{0

3、}",i);Console.WriteLine("引用类型的值为{0}",o);与值类型的变量}类型要一致演示示例4:拆箱装箱5值类型与引用类型值类型和引用类型的应用,跟踪数据的变化6值方式的参数的传递传递值类型参数:Int类型数据不会被修改,传递数据的副本//传递值类型参数StaticvoidMain(){inttest=10;studentstu=newstudent();stu.Vote(test);Console.WriteLine(test);}保持原来的10不变privatevoi

4、dVote(inti){i+=2;Console.WriteLine(i);}7值方式的参数的传递传递引用类型参数时:类:Student对象参数在程序中被修改,传递保存数据的地址变量//传递引用类型参数Studentscofield=引用类型:类newStudent("Scofield",Genders.Male,28,"越狱狱");scofield.SayHi();Vote(scofield);人气属性加1的方法scofield.SayHi();人气加18值类型值类型直接存储值student

5、1.AgeAge=18Age=18AgeAge=18Age=20student1student1studnet2student1studnet2student1.Age=18student2=student1student2.Age=209引用类型引用类型存储对值的引用两个变量都发生student1.Age变化Age=18Age=20student1student1studnet2student1studnet2student1.Age=18student2=student1student2.Ag

6、e=2010传递数组数组是值类型还是引用类型…arr[0]=1int[]odd={1,3,5};arr[1]=3PrintArray(odd);arr[2]=5ChangeToEven(odd);参数被修改PrintArray(odd);arr[0]=0…arr[1]=2arr[2]=4privatevoidChangeToEven(int[]arr){for(inti=0;i

7、atevoidVote(refintnum){num++;}传递值类型ref方式传递完全修改传递引用类型12通过引用传递参数ref修饰参数:调用方法后,参数值的更改仍然保留定义和调用在参数前使用ref在调用方法前作为参数的变量声明并赋值何时使用希望保留参数的更改按值传递和按引用传递按值传递:传递的是对象在栈上的数据副本按引用传递:传递的是对象在栈上的数据空间对应的地址注意:按值(引用)传递和值类型参数和引用类型参数是两种概念按值传递会复制栈上的真实数据,无论数据是真实数据还是真实数据对

8、应的堆的地址,副本数据的改变不会影响原数据20值类型和引用类型细分类别描述整型:int长整型:long基本数据类型浮点型:float值类型字符型:char布尔型:bool枚举类型枚举:enum结构类型结构:struct基类:System.Object类字符串:string引用类型自定义类:class接口接口:interface数组数组:int[],string[]程序中的数据程序中使用的数据:成员变量静态变量局部变量这样的数据是否就完全满足程序的需要呢?为什么

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。