第8章 函数

107 阅读1分钟

第8章 函数

8.1 形式参数

static void print(string str1,string str2="hello"){}

形参可以有很多个,也可以给形参赋初始值,但是要将赋值初始值的参数放最后面。

static void getNum(params int[] arr)
{
    for (int i = 0; i < arr.Length; i++) {
        Console.WriteLine(arr[i] + "\t");
    }
}
getNum(4,5,6,7);

在参数前面加 params 这样会将传进来的参数变成一个数组,就可以了不用传一个数组进去。

8.2 out、ref参数类型

  1. 返回同个类型的值,我们可以返回一个数组来解决多个同类型返回值的需求
  2. 但是返回多个不同类型的值的时候,我们可以使用out参数。
int age;
string name;
static int test1(out int age,out string name) {
    age = 120;
    name = "张三";
    return age;
}   
//out、ref参数:相当于C中的&,取地址
Console.WriteLine(test1(out age, out name));
Console.WriteLine(age);//120
Console.WriteLine(name);//张三
内部(赋值)外部(赋值)
out参数必须要赋值随意
ref参数随意必须要赋值

8.3 函数重载

函数的名称相同,但是参数列表不同。调用该函数的时候,会根据不用的参数,自动选择合适的函数重载形式。

参数不同的情况

  • ①如果参数的个数相同,那么参数的类型就不能相同;
  • ②如果参数的类型相同,那么参数的个数就不能相同。