关于C#中的参数传递问题.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《关于C#中的参数传递问题.pdf》由会员分享,可在线阅读,更多相关《关于C#中的参数传递问题.pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 老徐官网老徐官网:http:/www.xyxtl.org 学习群号学习群号:92980868 邮箱邮箱: 第 1 页 图 1 类 A:变量 var 方法 1:变量 Var1 方法 2:变量 Var2 关于关于 C中的参数传递问题中的参数传递问题 首先我们要理解参数传递的作用,为什么要用到参数传递?如图 1 所示:类 A 中存在成员变量 var,两个成员方法:方法 1 和方法 2,方法1中存在局部变量var1,方法2中存在局部变量var2.现在方法1有个任务要完成,因为这个任务比较复杂,所以他要初一部分来让访法 2 来完成,也就是要调用调用访法 2。访法 2 要完成的工作就是处理数据,把结果返
2、回给访法 1。现在我们看,如果访法 2 要处理的数据是类 A 的成员变量 var。因为 var 和方法 1、方法 2 同为类的成员,他们可以相互访问,也就是说变量为两个方法所共同拥有,这时候是不需要传递变量 var 的,因为在两个方法中都可以访问到变量 var。如果方法 1 交给方法 2 的任务是处理变量 var1 时情况就不同了,因为变量 var1 是存在于方法 1 中的局部变量,只有在方法 1 的内部才能访问到 var1。所以,只有把 var1 的信息传递给方法 2,访法 2 才能完成任务。这时候就需要也是必须传递参数传递参数。我们知道:变量分为值类型值类型和引用类型引用类型。值类型变量通
3、常分配在栈内存,变量中直接包含数据的副本,所以使用的效率比较高。而引用类型变量分配在托管堆中,引用类型变量中通常包含一个指向实例的指针,变量通过指针引用实例。举个例子来说:把变量比作一个盘子,我们要用他来存放一个苹果。如果把苹果直接放到盘子里,这个盘子就是一个值类型的变量,因为它直接存放的苹果本身;如果盘子里不直接放苹果,而是放了一张纸条,这个纸条上写着苹果所在的具体位置,我们可以在盘子里找到纸条,然后通过纸条上的“苹果的地址”拿到苹果,这时候盘子就是一个引用类型的变量。这两种类型的变量作为参数被传递时,情况有什么不同呢?先看值类型变量的传递:static void Main(string a
4、rgs)int a=3,b=5;Console.WriteLine(a=0,b=1,a,b);Swap(a,b);Console.WriteLine(a=0,b=1,a,b);Console.ReadKey();static void Swap(int x,int y)第 2 页 a:3 b:5 x:3 y:5 z:图 2 int z;z=x;x=y;y=z;如图 2:参数 a,向参数 x 传递,因为 a 是整型变量,属于值类型。在传递参数时传递的是变量的值,也就是数据副本。这时候系统会首先新开辟一个存储空间 x,然后把参数 a 的值拷贝到 x 中。参数 b 向参数 y 传递亦同。在方法 sw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于 C# 中的 参数 传递 问题
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内