1、方法的调用:在Main()函数中调用Test()函数时,Main()是调用者,Test()是被调用者。
如果被调用者想要得到调用者的值:
- 传递参数
举例:
static void Main(string[] args)
{
int a = 3;
Test(a);
Console.ReadLine();
}
public static void Test(int a)
{
a += 5;
}- 使用静态字段来模拟全局变量
具体做法:在Program里面声明一个public字段,此时此Program中所有函数都能调用此字段。
语法:
[public] static 数据类型 变量名;如果调用者想要得到被调用者的值:返回值
2、形参和实参:
- 形参是在被调用函数中的,实参是在main函数中的
- 都在内存中开辟空间
- 二者的参数类型和个数必须匹配
3、方法的一些注意点:
- 方法的功能一定要单一
- 方法中最忌讳的就是出现提示用户输入的字眼
4、高级参数
1)out
- 作用:在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组,但是,如果返回多个不同类型的值的时候,数组就不能解决这个问题,这个时候我们就可以考虑out参数。
- 声明语法:
[public] static 返回值类型 方法名 (参数类型 形参, out 多余返回的形参类型 多余返回的形参)
{
方法体;
}- 调用语法:
方法名(实参, out 多余返回的实参)注意:
1)out有别于return,不需要在方法体内格外返回,但在方法内必须赋值。
2)多余返回的实参应在Main中提前声明,可以在调用的语法中直接声明。2)ref
- 作用:能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。
- 声明语法:
[public] static void 方法名 (ref 参数类型 形参)
{
方法体;
}- 调用语法:
方法名(ref 实参);注意:ref参数要求方法外必须为其赋值,而方法内可以不赋值。
3)params
- 作用:将实参列表中跟可变参数数组类型一致的元素都当作数组的元素去处理。
- 声明语法:
[public] static 返回值类型 方法名 (params 数组类型 形参)
{
方法体;
}- 调用语法:
方法名(一致的元素, 一致的元素, 一致的元素);注意:
1)调用的时候元素的数据类型必须和可变参数数组类型一致;
2)也可以不管params,调用的时候实参为一个数组
3)必须是形参列表中的最后一个参数(若不是最后,如果后面还有类型相同的参数,电脑无法识别),因此一个方法里也不能有两个可变参数数组。
5、方法的重载
- 概念:方法的重载指的就是方法的名称相同,但是参数不同。
注意:
1)需要参数的类型或个数有一个不同
2)方法的重载和返回值没有关系
6、方法的递归
- 作用:自己调用自己
- 注意:
1)和while循环一样,递归也需要一个条件来跳出递归,通常使用静态变量来实现。
2)跳出递归使用return,,return的作用是跳出当前递归,整体也就是按照最后进入方法的顺序依次跳出
评论