一个小菜鸟基础不牢固,边看边学边写,第一次写这个心里也没点底,如果有任何说错的或者理解错的望大家海涵,留言告诉我下。谢谢。

 

C#定义函数是为了提供一个可供整个应用程序使用的代码块,从而减少重复的代码或者大体相同局部少许差异的代码的使用。一个函数的定义包括可供访问的权限,返回值类型,函数名,参数。返回值的类型必须是返回值类型或者是可以隐式转化成返回值类型的值。调用函数的使用需要参数和定义时的参数类型和数量一致,但是很多情况下有些参数不知道会有多少,个数无法确定。这个时候可以使用参数数组。C#允许为函数指定一个且只有一个参数数组,这个参数允许使用数量不定 的参数调用函数,但是必须使用params关键字。

 但是如果我要调用的方法我知道他有几个参数,比如吃饭我今天吃米饭,明天吃馒头加咸菜,我都是吃饭只是吃的东西不一样,然后吃完感觉不一样(饿或者吃饱撑了),这样的话一个吃饭的方法传递的参数不一样,返回内容也不一样,我们称之为重载。在以后的代码中重载构造函数还是会用的比较多的。

再看上面的例子中不难看到,这样满足多个参数,但有人会说了上面的只是返回一个值给我,如果我不想要上面返回值,太麻烦。但是我Mian函数里面的result一样的可以获取到这个方法的结果怎么办?这个就说到我们传入参数的类型了。上面例子我们不难看出,我们都是把一个值给参数然后它去运算,得到结果再给我们赋值。我们对参数怎么修改其实都不会影响到原本的值。但是如果我们使用引用传递结果就不一样了。所以我们使用另一个关键字ref。

同样的我们没有赋值但是结果却改变了,这牵扯到值类型和引用类型的问题,这一块这章内容不讲了下面讲。然后说的ref就不得不说一个和它几乎执行方式一模一样的out,out字面意思局可以看出,输出。虽然说执行方式一样但是他们还是有些许差别的。ref的参数必须是已经赋值的,但是out却可以不赋值。如果out的参数一旦赋值了其实也没啥用,因为在代码调用的时候存储在这个变量的是会丢失的。总的说是ref要赋值才能用,out你赋不赋值代码运行都是当做没有值。

 

既然说到函数就不得不说函数作用域了,作用域就像是家长,我把你生产出来我就得管你,其他的家长没有权利。还有一种是全局变量,这个就厉害了,相当于一个大家庭里面的最小的兄弟姐妹,这个做哥哥姐姐的(同级的函数)都可以管一管说一说。

版权声明:本文为evernoever原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/evernoever/p/8569681.html