博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#参数传递之引用参数
阅读量:4103 次
发布时间:2019-05-25

本文共 1111 字,大约阅读时间需要 3 分钟。

每一个想要做到模块化编程的码农都不可避免的一个问题是参数传递(如果您在这里觉得有疑问,诶,我不想做模块化呢,以笔者经验这个你大可不必揪心,因为你的老师或者老板会让你做到的)。以c语言为例,主调函数传参给被调函数的情况中,87%的情况都是要改变参数的值。这时候有两种方法做到这个,第一传指针,一般情况下正常的MADE IN EARTH的人类都会下意识避免遇到指针问题,因为这往往涉及一些空间问题、越界问题很容易出错,尤其参数是数组的时候,这时候就要涉及二级指针,指针的指针,听名字就一定更容易出错。第二个方法就容易保险多了,返回值。这个方法有局限性,只能一次返回一个值。自己写一个hello world不觉得有什么,一旦开始做项目,开始没觉得什么,画流程图,指针各种乱指,绝对爽到爆。ok,指针吐槽到此结束。(by the way,目前碰到好像只有c语言有指针吧。)
c#里面要解决被调改变形参的值的解决方法有两个,第一个是传引用。这个我觉得跟指针差不多,具体他怎么实现的,引用是什么我觉得不必深究。面向对象就有这个好处,封装嘛,不比计较那么多。作为一名兢兢业业的码农,你所要做的,就是实参和形参前面都加上ref关键字就万事大吉。参数的使用跟没加ref没什么不一样的。下面贴出主要部分代码。
 
简述:c#引用参数类型传参数的实例,类似于c的指针类型。

 

private void button1_Click(object sender, EventArgs e)        {            string x_Text = textBox_x.Text;            string y_Text = textBox_y.Text;            int x, y;            x = Convert.ToInt32(x_Text);            y = Convert.ToInt32(y_Text);            swap(ref x, ref y);            textBox_xAfter.Text = x.ToString();            textBox_yAfter.Text = y.ToString();        }        static private void swap(ref int x, ref int y)        {            int temp;            temp = x;            x = y;            y = temp;        }

转载地址:http://zpbsi.baihongyu.com/

你可能感兴趣的文章
漫话:为什么你下载小电影的时候进度总是卡在 99% 就不动了?
查看>>
我去!原来大神都是这样玩转「多线程与高并发」的...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
JS中各种数组遍历方式的性能对比
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
开局一张图,学一学项目管理神器Maven!
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>
Web应用架构
查看>>
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>